A comprehensive, self-paced Python training program with 50 progressive exercises, 6 complete projects, and extensive resources.
- 50 Exercises organized in 3 phases (Beginner β Intermediate)
- 6 Complete Projects (3 beginner, 3 intermediate)
- Comprehensive Resources (cheat sheet, debugging guide, progress tracker)
- Detailed Solutions with explanations for every exercise
- Extension Challenges for advanced learners
Location: beginner/01_to_15_fundamentals/
Master the basics of Python programming:
- Variables and data types
- Control flow (if/elif/else)
- Loops (for/while)
- Basic data structures (lists)
- Functions and parameters
Estimated Time: 2-3 weeks (1-2 hours/day)
Key Projects: Temperature Converter, FizzBuzz, Number Guessing Game, Shopping List Manager
Location: intermediate/16_to_30_building_skills/
Expand your knowledge with advanced data structures and file handling:
- Dictionaries, tuples, and sets
- String operations and formatting
- List comprehensions
- File I/O (reading/writing)
- CSV file handling
- Error handling (try/except)
Estimated Time: 3-4 weeks (1-2 hours/day)
Key Projects: Word Frequency Counter, Contact Book with CSV, Data Analysis Tool
Location: intermediate/31_to_50_advanced/
Master inte 8000 rmediate Python with OOP and advanced features:
- Advanced functions (*args, **kwargs, lambda)
- Map, filter, reduce
- Decorators
- Object-Oriented Programming (classes, inheritance)
- Standard library modules (datetime, random, math, collections)
- JSON data handling
- Complete application development
Estimated Time: 4-5 weeks (1-2 hours/day)
Key Projects: RPG Character System, Library Management, Personal Finance Tracker
- Python 3.x installed (Download here)
- A text editor or IDE (VS Code, PyCharm, or any editor)
- Basic computer skills
-
Clone or download this repository
-
Start with Phase 1, Exercise 1:
cd beginner/01_to_15_fundamentals python3 exercise_01.py -
Try to solve the exercise by reading the problem statement
-
Check the solution when you're done or stuck:
python3 exercise_01_solution.py
-
Track your progress in
resources/progress_tracker.md
- Read the exercise problem statement and examples
- Try to solve it yourself (spend at least 15-30 minutes)
- Review hints if you're stuck
- Check the solution and compare with yours
- Understand the explanation provided
- Experiment by modifying the code
- Move on to the next exercise
python-training/
βββ README.md # This file
βββ CLAUDE.md # Guide for AI assistants
βββ beginner/
β βββ 01_to_15_fundamentals/ # Exercises 1-15
β βββ exercise_01.py # Problem statement
β βββ exercise_01_solution.py # Solution with explanation
β βββ ...
βββ intermediate/
β βββ 16_to_30_building_skills/ # Exercises 16-30
β β βββ exercise_16.py
β β βββ exercise_16_solution.py
β β βββ ...
β βββ 31_to_50_advanced/ # Exercises 31-50
β βββ exercise_31.py
β βββ exercise_31_solution.py
β βββ README.md # Phase 3 guide
β βββ ...
βββ projects/
β βββ beginner_projects/
β β βββ README.md
β β βββ number_guessing_game.py
β β βββ quiz_game.py
β β βββ rock_paper_scissors.py
β βββ intermediate_projects/
β βββ README.md
β βββ expense_tracker.py
β βββ contact_manager.py
β βββ inventory_system.py
βββ resources/
βββ cheat_sheet.md # Quick Python reference
βββ debugging_tips.md # Common errors and solutions
βββ progress_tracker.md # Track your learning journey
- Temperature Converter - Variables, arithmetic, functions
- Even or Odd Checker - Control flow, modulo operator
- Simple Calculator - Operators, if/elif/else
- FizzBuzz - Loops, conditionals
- Number Guessing Game - While loops, random module
- List Maximum Finder - Lists, iteration
- List Sum and Average - Aggregation, functions
- Palindrome Checker - String manipulation, slicing
- Password Validator - String methods, validation
- Shopping List Manager - Lists, CRUD operations, menu system
- Grade Calculator - Functions, conditional logic
- Vowel Counter - String iteration, counting
- Multiplication Table - Nested loops, formatting
- List Reverser - Two-pointer technique, swapping
- Prime Number Checker - Algorithms, optimization
- Word Frequency Counter - Dictionaries, sorting
- Dictionary Merger - Dictionary operations
- Student Grade Manager - Nested dictionaries
- Tuple Unpacking - Tuples, multiple assignment
- Set Operations - Sets, union, intersection
- String Formatting Master - f-strings, .format()
- String Methods Explorer - String manipulation
- List Comprehensions - Functional programming style
- File Reading and Writing - File I/O, context managers
- CSV File Handling - CSV module
- Basic Error Handling - try/except, exceptions
- Custom Exceptions - Exception classes
- Contact Book Project - Complete CRUD application
- Data Analysis - Data processing, statistics
- Text Adventure Game - Game logic, state management
31-35. Advanced Functions - *args, **kwargs, lambda, map/filter/reduce, decorators 36-39. OOP Fundamentals - Classes, methods, inheritance 40-44. Standard Library - datetime, random, math, collections, JSON 45-50. Complete Projects - RPG system, data analysis, todo app, custom modules, library system, finance tracker
Perfect for practicing Phase 1 concepts:
Rock Paper Scissors (projects/beginner_projects/rock_paper_scissors.py)
- Game logic and random choices
- Score tracking and statistics
- Best-of-5 match format
Quiz Game (projects/beginner_projects/quiz_game.py)
- Multiple choice questions
- Multiple categories
- Score calculation and grading
Number Guessing Game (projects/beginner_projects/number_guessing_game.py)
- Difficulty levels
- High score persistence
- Smart hints system
Apply Phase 2 & 3 concepts in real applications:
Expense Tracker (projects/intermediate_projects/expense_tracker.py)
- Track expenses by category
- Monthly reports with statistics
- JSON data persistence
- Data aggregation and visualization
Contact Manager (projects/intermediate_projects/contact_manager.py)
- Full CRUD operations
- Email/phone validation
- CSV import/export
- Search and filtering
Inventory System (projects/intermediate_projects/inventory_system.py)
- Product management
- Stock tracking with alerts
- Multiple report types
- Category-based organization
Quick reference for:
- Python syntax
- Built-in functions
- String methods
- List/dict operations
- File I/O patterns
- OOP basics
Learn to fix common errors:
- SyntaxError
- IndentationError
- NameError
- TypeError
- IndexError
- And more...
Track your learning:
- Check off completed exercises
- Self-assessment questionnaires
- Goal setting
- Notes and reflections
- Write code yourself - Don't just copy/paste
- Experiment - Try different approaches
- Make mistakes - That's how you learn
- Review regularly - Spaced repetition helps
- Build projects - Apply what you learn
- Debug actively - Understand errors
- Don't rush through exercises
- Don't skip the basics
- Don't just read solutions
- Don't give up after one try
- Don't ignore error messages
- Don't learn in isolation (discuss with others!)
- 2-3 hours daily
- 2-3 exercises per day
- Complete projects on weekends
- Total: ~80-120 hours
- 1-2 hours daily
- 1 exercise per day
- Projects spread throughout
- Total: ~60-80 hours
- 30-60 minutes daily
- 1 exercise every 1-2 days
- Focus on understanding
- Total: ~40-60 hours
- Read the error message - It usually tells you what's wrong
- Check the hints - Every exercise has helpful hints
- Review resources - Check the cheat sheet and debugging guide
- Google the error - Add "Python" to your search
- Experiment - Try different approaches
- Check the solution - It's okay to learn from examples
By completing this training, you will be able to:
β Write clean, readable Python code β Use all major Python data structures effectively β Handle files and data persistence β Build object-oriented programs β Debug and fix common errors β Create complete CLI applications β Process and analyze data β Use Python standard library modules β Apply best practices and coding standards β Build projects from scratch
Once you've finished all exercises and projects, you're ready for:
-
Web Development
- Flask or Django frameworks
- RESTful APIs
- Database integration
-
Data Science
- pandas for data analysis
- NumPy for numerical computing
- matplotlib for visualization
-
Automation
- Script repetitive tasks
- Web scraping
- System administration
-
Advanced Topics
- Async programming
- Design patterns
- Testing (pytest)
- Git version control
Each exercise follows this structure:
# Exercise N: Title
# Difficulty: Beginner/Intermediate
# Concepts: List of concepts covered
"""
PROBLEM:
Clear description of what to build/solve
EXAMPLE:
Input: example input
Output: expected output
HINTS:
1. First hint
2. Second hint
3. Third hint
EXTENSION:
Optional challenge for advanced learners
"""
# Write your solution hereAs you progress:
- Mark exercises complete in the progress tracker
- Note concepts you found challenging
- Record "aha!" moments
- Celebrate milestones (every 10 exercises!)
- Build something unique after each phase
This training material is provided for educational purposes. Feel free to use, modify, and share.
Found a typo or have suggestions? Feel free to:
- Report issues
- Suggest improvements
- Share your solutions
- Add more exercises
cd beginner/01_to_15_fundamentals
python3 exercise_01.pyHappy Coding! Remember: Every expert was once a beginner. Take it one exercise at a time, and you'll be amazed at how much you learn!
Python Training - From Zero to Hero, One Exercise at a Time π