This is a simple step-by-step Python learning hub for complete beginners. You start from zero and slowly become good at coding. We have 7 levels. Each level teaches one important topic with easy practice questions. Practice is the only way to learn coding well – do every question yourself. After the levels, try the 20 fun console projects to use everything you learned.
- Level 1: Python Basics - Variables & Input/Output
- Level 2: Working with Text - Strings
- Level 3: Making Decisions - Conditionals
- Level 4: Repeating Tasks - Loops
- Level 5: Organizing Data - Lists & Tuples
- Level 6: Advanced Collections - Sets & Dictionaries
- Level 7: Reusable Code - Functions
- 20 Console Projects
Why this level?
Learn how to store data in variables, take input from user, and print results. This is the first step of every Python program.
-
Swap Two Numbers
Define two numbers in variable. Swap them without extra variable. Print both after swap.Example: Input `First = 10` and `Second = 20` → Output: `First = 20`, `Second = 10`
-
Swap Two Strings
Take two strings from user. Swap them without extra variable. Print both after swap.Example: Input `First = "Ali"` and `Second = "Alia"` → Output: `First = "Alia"`, `Second = "Ali"`
-
Add Two Numbers
Ask user for two numbers. Add them and print the sum.Example: Input `5` and `8` → Output: `Sum = 13`
-
Area of Rectangle
Ask user for length and width. Calculate area and print it.Example: Input `4` and `6` → Output: `Area = 24`
-
Say Hello to User
Ask user for name. PrintHello [Name]!Example: Input `Ali` → Output: `Hello Ali!`
-
Full Name Greeting
Ask for first name and last name. Join them and print greeting.Example: Input `Alia` and `Mirza` → Output: `Hello, Alia Mirza!`
-
Welcome with Age
Ask for name and age. Print welcome message using f-string.Example: Input `Ali` and `20` → Output: `Welcome, Ali! You are 20 years old.`
Why this level?
Learn how to work with words and sentences. Almost every program needs text.
-
String Length Counter
Ask user for a sentence. Print how many characters it has.Example: Input `Hello Pakistan` → Output: `Length: 14`
-
Upper and Lower Case
Ask for a string. Print it in uppercase and lowercase.Example: Input `Python` → Output: `UPPER: PYTHON`, `lower: python`
-
Name Formatting
Ask first and last name. Print normal, uppercase, and title case.Example: Input `lilly`, `collins` → Output: `Normal: lilly collins`, `Title Case: Lilly Collins`
-
Formatted Bill
Ask item name, quantity, price. Print neat bill with total.Example: Input `Apple`, `5`, `50` → Output: `Item: Apple` `Quantity: 5` `Total: Rs.250`
Why this level?
Learn how to make your program choose different actions using if/elif/else.
-
Even or Odd
Ask a number. Print Even or Odd.Example: Input `7` → Output: `Odd`
-
Compare Two Numbers
Ask two numbers. Print which is bigger or if equal.Example: Input `10` `5` → Output: `10 is greater`
-
Pass or Fail
Ask marks. Print Pass (≥40) or Fail.Example: Input `35` → Output: `Fail`
-
Count Vowels
Ask for a word. Count vowels (a,e,i,o,u – ignore case).Example: Input `education` → Output: `Number of vowels: 5`
-
Positive, Negative, Zero
Ask a number. Print what it is.Example: Input `-4` → Output: `Negative`
-
Grade System
Ask percentage. Print A (≥80), B (60-79), C (40-59), Fail.Example: Input `85` → Output: `A Grade`
-
Simple Calculator
Ask two numbers and operation (+ - * /). Print result. Show error for divide by zero.Example: Input `10`, `5`, `/` → Output: `Result: 2.0`
Why this level?
Learn how to repeat work easily using while and for loops.
-
Print 1 to 10
Use for loop to print numbers 1 to 10. -
Multiplication Table
Ask a number. Print its table (1 to 10).Example: Input `5` → `5 x 1 = 5` ... `5 x 10 = 50`
-
Sum of Numbers
Ask a number n. Print sum from 1 to n.Example: Input `10` → Output: `Sum = 55`
-
Even Numbers 1-20
Print all even numbers from 1 to 20 using loop. -
Countdown
Print numbers from 10 down to 1 using while loop. -
Simple Star Pattern
Print this pattern using loops:* 1 * * 1 2 * * * 1 2 3 * * * * 1 2 3 4 * * * * * 1 2 3 4 5
Why this level?
Learn how to store many items in lists (can change) and tuples (cannot change).
-
Create Fruit List
Ask user for 5 fruits. Store in list and print. -
Access List Items
Make list [10,20,30,40,50]. Print first, middle, last. -
Add and Insert Items
Start empty list. Append 3 items. Insert one at position 1. Print final list. -
List Slicing
Make list 1 to 10. Print first 5, last 3, and items 3 to 8. -
Introduction to Tuples
Make tuple of 5 days. Print it and try to change one item (will give error). -
Convert List to Tuple
Ask 4 subjects → store in list → convert to tuple → print both.
Why this level?
Learn sets (unique items) and dictionaries (key-value pairs).
-
Create and Add to Set
Make empty set. Add 5 numbers. Print set (duplicates removed). -
Set Operations
Make two sets. Print union and intersection. -
Remove from Set
Make set with 6 items. Remove one and discard one (if not exist). Print after each. -
Student Marks Dictionary
Make dict with 3 student names and marks. Print all. -
Add and Update Dict
Start empty dict. Add 3 key-value pairs. Update one value. -
Word Frequency
Ask a sentence. Make dict to count how many times each word appears.
Why this level?
Learn how to make functions so you can use same code again easily.
-
Add Two Numbers Function
Make function add(a, b) that returns sum. Call it and print. -
Check Even/Odd Function
Make function is_even(num) that returns True or False. Use it. -
Maximum of Three
Make function max_of_three(a,b,c) that returns biggest number. -
Factorial Function
Make function factorial(n) using loop. Return n!. -
Greeting Function
Make function greet(name, age) that prints welcome message. -
Area Calculator Function
Make function area(shape, values) that calculates rectangle or triangle area.
Skills: variables, loops, conditionals, random, input validation, functions.
v1 (starter): computer picks 1–100, student guesses, give higher/lower hints, track attempts.
v2 (required): add input validation, allow multiple rounds, show best score (fewest attempts).
stretch: add difficulty levels (range changes), timer, and persistent high-score file.
Starter hint: import random → secret = random.randint(1,100); loop until guessed.
Quick tests: guess correctly in N attempts; invalid input doesn't crash.
- Simple Calculator (CLI)
Skills:
functions,exception handling,parsing strings,loops.
v1: support + - * / for two numbers via input prompts.
v2: support chaining operations, handle divide-by-zero and bad input.
stretch: implement expression parsing (e.g., "3 + 4 * 2") or REPL mode.
Starter hint: separate parse_input(), compute(a, op, b) functions. Use try/except.
Quick tests: 3/0 handled gracefully; "abc" prompts again.
Skills: lists, file I/O (text or JSON), CRUD operations, functions.
v1: add/view/remove tasks stored in memory. v2: save/load tasks to a JSON/text file so tasks survive program restart. stretch: search/filter tasks, mark priority, and sort by date added. Starter hint: use json module: write tasks (list of dicts) to disk. Quick tests: add task → saved file contains task; restart program → tasks loaded.
Skills: dictionaries, lists, file I/O, simple validation, search.
v1: basic add/view/search by name (in-memory).
v2: persist using CSV/JSON; update/delete contact.
stretch: export/import VCF, or search fuzzy matches.
Starter hint: store each contact as { "name":..., "phone":..., "email":... } and use list comprehension for search.
Quick tests: add → find by name; remove → no longer found; file persists.
Skills: strings, concatenation, user input, functions, lists.
v1: ask for a few words and print the story. v2: support multiple story templates chosen by user. stretch: read templates from files, randomize templates, or add grammar checks. Starter hint: use placeholders like {noun} and .format(**answers). Quick tests: given inputs, output contains those words in expected places.
