Tech Skills

Learn Python From Scratch: A 60-Day Beginner Roadmap

A practical 60-day Python roadmap for Indian students: what to learn each week, small projects to build, free official tools, and common beginner mistakes.

Python is often the first programming language students meet, whether in a Class 11 computer science syllabus, a first-year BTech lab, or a data analysis elective. The language reads almost like English, which makes it friendly, but many beginners still stall after a few weeks because they jump between random videos without a plan. This roadmap breaks the first 60 days into clear stages, with roughly one hour of practice a day, small projects at each step, and checkpoints so you know when you are ready to move on.

Before Day 1: Set Up Your Tools

You do not need an expensive laptop. Any computer that can run a browser will do, and you can even begin on a phone using a browser-based notebook. Pick one of these setups and stick with it for the full 60 days:

  • Install Python locally: download the latest stable version from python.org. On Windows, tick the option to add Python to PATH during installation.
  • Use a code editor: Visual Studio Code (code.visualstudio.com) with the official Python extension is a popular free choice. IDLE, which ships with Python, is fine for the first week.
  • Use a browser notebook: Google Colab (colab.research.google.com) runs Python in the cloud with only a Google account. It is useful if your college lab computer does not let you install software.

Keep the official tutorial at docs.python.org bookmarked. It is free and maintained by the Python team, so check it whenever a video or blog seems unclear.

The 60-Day Plan at a Glance

DaysFocusMini project
1–10Variables, data types, input/output, operatorsPocket money calculator
11–20Conditions and loopsNumber guessing game
21–30Lists, tuples, dictionaries, stringsClass marks report
31–40Functions, modules, error handlingUnit converter with menu
41–50Files and simple data handlingExpense tracker saved to CSV
51–60One capstone project and code cleanupYour own idea, shared on GitHub

Days 1–10: The Building Blocks

Start by learning how Python stores information. Understand the difference between int, float, str and bool, and practise converting between them. A very common first bug is forgetting that input() always returns text.

monthly = input("Monthly pocket money in rupees: ")
spent = input("Amount spent so far: ")

# input() returns strings, so convert before doing maths
left = float(monthly) - float(spent)
print("You have Rs.", left, "left this month")

By Day 10 you should be comfortable with arithmetic operators, including // (floor division) and % (remainder). Try this checkpoint: write a program that takes a number of minutes and prints it as hours and minutes, so 135 becomes "2 hours 15 minutes".

Days 11–20: Making Decisions and Repeating Work

Conditions (if, elif, else) let a program choose, and loops (for, while) let it repeat. Pay close attention to indentation, because Python uses it to decide which lines belong inside a block.

import random

secret = random.randint(1, 50)
tries = 0

while True:
    guess = int(input("Guess a number from 1 to 50: "))
    tries += 1
    if guess < secret:
        print("Too low")
    elif guess > secret:
        print("Too high")
    else:
        print("Correct! You took", tries, "tries")
        break

Once the game works, improve it yourself: limit the player to seven tries, or ask whether they want to play again. Changing working code is where real learning happens.

Days 21–30: Working With Collections

Real programs handle many values at once. Lists hold ordered items, dictionaries map keys to values, and strings have dozens of useful methods such as .strip(), .lower() and .split(). Here is a small marks report using a dictionary:

marks = {"Ananya": 82, "Farhan": 67, "Ishita": 91, "Vikram": 38}

for name, score in marks.items():
    status = "Pass" if score >= 40 else "Needs support"
    print(f"{name:<8} {score:>3}  {status}")

average = sum(marks.values()) / len(marks)
topper = max(marks, key=marks.get)
print(f"Class average: {average:.1f}")
print("Topper:", topper)

The names here are an example. Running the code prints each student with a status, then "Class average: 69.5" and "Topper: Ishita". Notice the f-string formatting: :.1f rounds to one decimal place, and <8 pads text so the columns line up.

Days 31–40: Functions and Handling Errors

Functions let you name a piece of logic and reuse it. A good rule for beginners is that if you have copied the same three lines twice, it is time to write a function. In this stage also learn try and except, so a wrong input does not crash your program.

def km_to_miles(km):
    return km * 0.621371

def read_number(prompt):
    while True:
        try:
            return float(input(prompt))
        except ValueError:
            print("Please type a number, for example 12.5")

distance = read_number("Distance in km: ")
print(f"{distance} km is about {km_to_miles(distance):.2f} miles")

Extend this into a menu-driven converter with options for kilometres to miles, Celsius to Fahrenheit (c * 9 / 5 + 32), and kilograms to pounds. Put each conversion in its own function, and learn how to move helper functions into a separate file and import them as a module.

Days 41–50: Files and Simple Data

A program becomes genuinely useful when it remembers things after it closes. Python's built-in csv module lets you save data in a format that opens in Excel or Google Sheets.

import csv
from datetime import date

def add_expense(item, amount):
    with open("expenses.csv", "a", newline="") as f:
        csv.writer(f).writerow([date.today(), item, amount])

def total_spent():
    total = 0
    with open("expenses.csv", newline="") as f:
        for row in csv.reader(f):
            total += float(row[2])
    return total

add_expense("Notebook", 60)
add_expense("Bus pass top-up", 200)
print("Total so far:", total_spent())

The with statement closes the file automatically, even if an error happens. As a stretch goal, add a function that shows spending per category.

Days 51–60: Build One Capstone Project

Spend the final ten days on one project you care about rather than five half-finished ones. Good ideas for students include:

  • A revision flashcard quiz that reads questions from a text file and tracks your score.
  • An attendance calculator that tells you how many more classes you can miss and still stay above your college's minimum.
  • A hostel or flat expense splitter that works out who owes whom.
  • A simple to-do list that saves tasks between runs.

Write a short README explaining what the project does and how to run it, then upload it to GitHub (github.com). A small, working, well-explained project is more convincing to a teacher or recruiter than a long list of course certificates.

How to Practise Each Day

  1. Read or watch for 15 minutes on one concept only.
  2. Type the examples yourself for 15 minutes instead of copy-pasting. Your fingers learn syntax faster than your eyes.
  3. Change something for 20 minutes: break the code on purpose, read the error message, and fix it.
  4. Write a two-line note in a notebook: what you learned and what confused you.

If you miss a day, do not try to double up the next day. Simply continue. Consistency over 60 days matters far more than any single long session.

Common Beginner Mistakes

  • Watching without coding: tutorials feel productive, but you only learn when you write and debug code yourself.
  • Ignoring error messages: read the last line of a traceback first. It usually names the exact problem, such as NameError or TypeError.
  • Mixing tabs and spaces: configure your editor to insert four spaces when you press Tab.
  • Jumping to frameworks too early: Django, machine learning and app development are far easier once the basics above feel natural.

FAQs

Can I learn Python without a maths or science background?

Yes. The basics need only school-level arithmetic. Logical thinking matters more than advanced maths, and it improves with practice. Maths becomes more important only if you later move into data science or machine learning.

Is one hour a day really enough?

For the fundamentals in this roadmap, a focused hour of hands-on coding each day is enough for most beginners. If you can give more time, use it to build extra mini projects rather than rushing ahead to new topics.

Should I learn Python 2 or Python 3?

Learn Python 3. Python 2 is no longer maintained, and all modern libraries and course material use Python 3. Download the current version from python.org.

What should I learn after these 60 days?

Choose a direction based on your interest: pandas and data visualisation for analytics, Flask or Django for web development, or a basic data structures and algorithms course if you are preparing for coding rounds. Keep building projects at every stage.

Spotted an error or outdated detail? Let us know and we will review it. Always confirm dates, fees and eligibility on the official website before you apply. See our disclaimer.