8000 GitHub - Natho86/python-training: Comprehensive Python training: 50 exercises, 6 projects, beginner to intermediate Β· GitHub
[go: up one dir, main page]

Skip to content

About

Comprehensive Python training: 50 exercises, 6 projects, beginner to intermediate

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

Python Training - Beginner to Intermediate

A comprehensive, self-paced Python training program with 50 progressive exercises, 6 complete projects, and extensive resources.

πŸ“š What's Included

  • 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

🎯 Learning Path

Phase 1: Beginner Fundamentals (Exercises 1-15)

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


Phase 2: Building Skills (Exercises 16-30)

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


Phase 3: Intermediate Concepts (Exercises 31-50)

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


πŸš€ Getting Started

Prerequisites

  • Python 3.x installed (Download here)
  • A text editor or IDE (VS Code, PyCharm, or any editor)
  • Basic computer skills

Quick Start

  1. Clone or download this repository

  2. Start with Phase 1, Exercise 1:

    cd beginner/01_to_15_fundamentals
    python3 exercise_01.py
  3. Try to solve the exercise by reading the problem statement

  4. Check the solution when you're done or stuck:

    python3 exercise_01_solution.py
  5. Track your progress in resources/progress_tracker.md

Recommended Approach

  1. Read the exercise problem statement and examples
  2. Try to solve it yourself (spend at least 15-30 minutes)
  3. Review hints if you're stuck
  4. Check the solution and compare with yours
  5. Understand the explanation provided
  6. Experiment by modifying the code
  7. Move on to the next exercise

πŸ“‚ Repository Structure

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

πŸŽ“ Exercises Overview

Beginner Fundamentals (1-15)

  1. Temperature Converter - Variables, arithmetic, functions
  2. Even or Odd Checker - Control flow, modulo operator
  3. Simple Calculator - Operators, if/elif/else
  4. FizzBuzz - Loops, conditionals
  5. Number Guessing Game - While loops, random module
  6. List Maximum Finder - Lists, iteration
  7. List Sum and Average - Aggregation, functions
  8. Palindrome Checker - String manipulation, slicing
  9. Password Validator - String methods, validation
  10. Shopping List Manager - Lists, CRUD operations, menu system
  11. Grade Calculator - Functions, conditional logic
  12. Vowel Counter - String iteration, counting
  13. Multiplication Table - Nested loops, formatting
  14. List Reverser - Two-pointer technique, swapping
  15. Prime Number Checker - Algorithms, optimization

Building Skills (16-30)

  1. Word Frequency Counter - Dictionaries, sorting
  2. Dictionary Merger - Dictionary operations
  3. Student Grade Manager - Nested dictionaries
  4. Tuple Unpacking - Tuples, multiple assignment
  5. Set Operations - Sets, union, intersection
  6. String Formatting Master - f-strings, .format()
  7. String Methods Explorer - String manipulation
  8. List Comprehensions - Functional programming style
  9. File Reading and Writing - File I/O, context managers
  10. CSV File Handling - CSV module
  11. Basic Error Handling - try/except, exceptions
  12. Custom Exceptions - Exception classes
  13. Contact Book Project - Complete CRUD application
  14. Data Analysis - Data processing, statistics
  15. Text Adventure Game - Game logic, state management

Intermediate Concepts (31-50)

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

πŸ› οΈ Projects

Beginner Projects

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

Intermediate Projects

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

πŸ“– Resources

Cheat Sheet (resources/cheat_sheet.md)

Quick reference for:

  • Python syntax
  • Built-in functions
  • String methods
  • List/dict operations
  • File I/O patterns
  • OOP basics

Debugging Guide (resources/debugging_tips.md)

Learn to fix common errors:

  • SyntaxError
  • IndentationError
  • NameError
  • TypeError
  • IndexError
  • And more...

Progress Tracker (resources/progress_tracker.md)

Track your learning:

  • Check off completed exercises
  • Self-assessment questionnaires
  • Goal setting
  • Notes and reflections

πŸ’‘ Learning Tips

Do's βœ…

  • 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'ts ❌

  • 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!)

🎯 Study Plans

Intensive (4-6 weeks)

  • 2-3 hours daily
  • 2-3 exercises per day
  • Complete projects on weekends
  • Total: ~80-120 hours

Standard (8-10 weeks)

  • 1-2 hours daily
  • 1 exercise per day
  • Projects spread throughout
  • Total: ~60-80 hours

Relaxed (12-16 weeks)

  • 30-60 minutes daily
  • 1 exercise every 1-2 days
  • Focus on understanding
  • Total: ~40-60 hours

πŸ” How to Get Help

When You're Stuck:

  1. Read the error message - It usually tells you what's wrong
  2. Check the hints - Every exercise has helpful hints
  3. Review resources - Check the cheat sheet and debugging guide
  4. Google the error - Add "Python" to your search
  5. Experiment - Try different approaches
  6. Check the solution - It's okay to learn from examples

Additional Resources:

πŸŽ“ What You'll Learn

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

πŸš€ After Completion

Once you've finished all exercises and projects, you're ready for:

  1. Web Development

    • Flask or Django frameworks
    • RESTful APIs
    • Database integration
  2. Data Science

    • pandas for data analysis
    • NumPy for numerical computing
    • matplotlib for visualization
  3. Automation

    • Script repetitive tasks
    • Web scraping
    • System administration
  4. Advanced Topics

    • Async programming
    • Design patterns
    • Testing (pytest)
    • Git version control

πŸ“ Exercise Format

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 here

🌟 Success Stories

As 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

πŸ“„ License

This training material is provided for educational purposes. Feel free to use, modify, and share.

🀝 Contributing

Found a typo or have suggestions? Feel free to:

  • Report issues
  • Suggest improvements
  • Share your solutions
  • Add more exercises

Ready to Start? 🐍

cd beginner/01_to_15_fundamentals
python3 exercise_01.py

Happy 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 πŸš€

About

Comprehensive Python training: 50 exercises, 6 projects, beginner to intermediate

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

0