Skip to content

alisulmanpro/Python-Mastery-Hub

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 

Repository files navigation

Programming Fundamentals | Python

License Status

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.


Image


Table of Contents


Level 1: Python Basics - Variables & Input/Output

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.

  1. 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`
  2. 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"`
  3. Add Two Numbers
    Ask user for two numbers. Add them and print the sum.

    Example: Input `5` and `8` → Output: `Sum = 13`
  4. Area of Rectangle
    Ask user for length and width. Calculate area and print it.

    Example: Input `4` and `6` → Output: `Area = 24`
  5. Say Hello to User
    Ask user for name. Print Hello [Name]!

    Example: Input `Ali` → Output: `Hello Ali!`
  6. Full Name Greeting
    Ask for first name and last name. Join them and print greeting.

    Example: Input `Alia` and `Mirza` → Output: `Hello, Alia Mirza!`
  7. 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.`

Level 2: Working with Text - Strings

Why this level?
Learn how to work with words and sentences. Almost every program needs text.

  1. String Length Counter
    Ask user for a sentence. Print how many characters it has.

    Example: Input `Hello Pakistan` → Output: `Length: 14`
  2. Upper and Lower Case
    Ask for a string. Print it in uppercase and lowercase.

    Example: Input `Python` → Output: `UPPER: PYTHON`, `lower: python`
  3. 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`
  4. 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`

Level 3: Making Decisions - Conditionals

Why this level?
Learn how to make your program choose different actions using if/elif/else.

  1. Even or Odd
    Ask a number. Print Even or Odd.

    Example: Input `7` → Output: `Odd`
  2. Compare Two Numbers
    Ask two numbers. Print which is bigger or if equal.

    Example: Input `10` `5` → Output: `10 is greater`
  3. Pass or Fail
    Ask marks. Print Pass (≥40) or Fail.

    Example: Input `35` → Output: `Fail`
  4. Count Vowels
    Ask for a word. Count vowels (a,e,i,o,u – ignore case).

    Example: Input `education` → Output: `Number of vowels: 5`
  5. Positive, Negative, Zero
    Ask a number. Print what it is.

    Example: Input `-4` → Output: `Negative`
  6. Grade System
    Ask percentage. Print A (≥80), B (60-79), C (40-59), Fail.

    Example: Input `85` → Output: `A Grade`
  7. Simple Calculator
    Ask two numbers and operation (+ - * /). Print result. Show error for divide by zero.

    Example: Input `10`, `5`, `/` → Output: `Result: 2.0`

Level 4: Repeating Tasks - Loops

Why this level?
Learn how to repeat work easily using while and for loops.

  1. Print 1 to 10
    Use for loop to print numbers 1 to 10.

  2. Multiplication Table
    Ask a number. Print its table (1 to 10).

    Example: Input `5``5 x 1 = 5` ... `5 x 10 = 50`
  3. Sum of Numbers
    Ask a number n. Print sum from 1 to n.

    Example: Input `10` → Output: `Sum = 55`
  4. Even Numbers 1-20
    Print all even numbers from 1 to 20 using loop.

  5. Countdown
    Print numbers from 10 down to 1 using while loop.

  6. Simple Star Pattern
    Print this pattern using loops:

    *                 1
    * *               1 2
    * * *             1 2 3
    * * * *           1 2 3 4
    * * * * *         1 2 3 4 5

Level 5: Organizing Data - Lists & Tuples

Why this level?
Learn how to store many items in lists (can change) and tuples (cannot change).

  1. Create Fruit List
    Ask user for 5 fruits. Store in list and print.

  2. Access List Items
    Make list [10,20,30,40,50]. Print first, middle, last.

  3. Add and Insert Items
    Start empty list. Append 3 items. Insert one at position 1. Print final list.

  4. List Slicing
    Make list 1 to 10. Print first 5, last 3, and items 3 to 8.

  5. Introduction to Tuples
    Make tuple of 5 days. Print it and try to change one item (will give error).

  6. Convert List to Tuple
    Ask 4 subjects → store in list → convert to tuple → print both.


Level 6: Advanced Collections - Sets & Dictionaries

Why this level?
Learn sets (unique items) and dictionaries (key-value pairs).

  1. Create and Add to Set
    Make empty set. Add 5 numbers. Print set (duplicates removed).

  2. Set Operations
    Make two sets. Print union and intersection.

  3. Remove from Set
    Make set with 6 items. Remove one and discard one (if not exist). Print after each.

  4. Student Marks Dictionary
    Make dict with 3 student names and marks. Print all.

  5. Add and Update Dict
    Start empty dict. Add 3 key-value pairs. Update one value.

  6. Word Frequency
    Ask a sentence. Make dict to count how many times each word appears.


Level 7: Reusable Code - Functions

Why this level?
Learn how to make functions so you can use same code again easily.

  1. Add Two Numbers Function
    Make function add(a, b) that returns sum. Call it and print.

  2. Check Even/Odd Function
    Make function is_even(num) that returns True or False. Use it.

  3. Maximum of Three
    Make function max_of_three(a,b,c) that returns biggest number.

  4. Factorial Function
    Make function factorial(n) using loop. Return n!.

  5. Greeting Function
    Make function greet(name, age) that prints welcome message.

  6. Area Calculator Function
    Make function area(shape, values) that calculates rectangle or triangle area.


Console Base Projects

1. Number Guessing Game

Skills: variables, loops, conditionals, random, input validation, functions.

Milestones

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 randomsecret = random.randint(1,100); loop until guessed. Quick tests: guess correctly in N attempts; invalid input doesn't crash.

  1. Simple Calculator (CLI) Skills: functions, exception handling, parsing strings, loops.

Milestones

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.

3. To-Do List with File Save/Load

Skills: lists, file I/O (text or JSON), CRUD operations, functions.

Milestones

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.

4) Contact Book (CSV or JSON)

Skills: dictionaries, lists, file I/O, simple validation, search.

Milestones

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.

5) Mad Libs / Story Generator

Skills: strings, concatenation, user input, functions, lists.

Milestones

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.

About

Structured Python practice hub for beginners learning Programming Fundamentals (PF). Features 7 sequenced question sets, 20 mega tasks, and 10 console projects to master variables, conditionals, loops, lists, functions & more through hands-on coding.

Topics

Resources

License

Stars

Watchers

Forks

Contributors