Skip to content

A comprehensive Python guide 🐍✨ covering basics to advanced topics, file handling, OOP, error handling, projects, LLMs from scratch, FastAPI, REST APIs, and more β€” hands-on and beginner-friendly!

License

Notifications You must be signed in to change notification settings

devgui01/Python

Β 
Β 

🐍 Python Learning Repository

Open Source Love License: MIT Release Stars Forks Issues Pull Requests Contributors

800+ Python Programming Issues β€’ From Beginner to Expert

Quick Start β€’ Issues β€’ Contributing β€’ Code of Conduct


πŸ“– About

A comprehensive Python learning platform with 700+ curated programming issues organized by difficulty. From your first "Hello World" to advanced algorithms and system design β€” everything you need to master Python is here.

✨ All issues include:

  • βœ… Detailed problem descriptions
  • βœ… Starter code templates
  • βœ… Test case structures
  • βœ… Progressive hints
  • βœ… Complexity analysis
  • βœ… Resource links

πŸš€ Quick Start

Prerequisites

  • βœ… Python 3.10 or higher
  • βœ… Git installed
  • βœ… Code editor (VS Code recommended)

Installation

# 1. Clone the repository
git clone https://github.com/hackdartstorm/Python.git
cd Python

# 2. Create virtual environment
python -m venv venv

# 3. Activate virtual environment
# Windows:
venv\Scripts\activate
# macOS/Linux:
source venv/bin/activate

# 4. Install dependencies (optional)
pip install -r requirements.txt

Your First Contribution

# 1. Browse issues
# Visit: https://github.com/hackdartstorm/Python/issues

# 2. Fork the repository
# Click "Fork" button on GitHub

# 3. Clone your fork
git clone https://github.com/YOUR_USERNAME/Python.git
cd Python

# 4. Create a branch
git checkout -b issue-<number>-your-name

# 5. Solve the issue
# Create your solution in the specified path

# 6. Commit and push
git add .
git commit -m "Solve issue #<number>"
git push origin issue-<number>-your-name

# 7. Create Pull Request
# Go to GitHub and click "New Pull Request"

πŸ“Š Issues

Issue Distribution

Difficulty Count Labels
Beginner 200+ beginner, good first issue
Medium 400+ medium
Advanced 100+ advanced

Browse Issues

Category Link
All Issues View 700+ Issues
Beginner Friendly View Beginner Issues
Good First Issues View First Issues
Medium Difficulty View Medium Issues
Advanced View Advanced Issues

Issue Categories

Category Issues Topics
Array Problems 150+ Sorting, searching, manipulation
String Problems 100+ Manipulation, patterns, parsing
Dynamic Programming 100+ Optimization, recursion
Graph Problems 80+ BFS, DFS, shortest path
Tree Problems 70+ BST, traversal, balancing
Stack/Queue 60+ Data structures, algorithms
Hash Table 50+ Dictionaries, sets, mapping
Math Problems 40+ Number theory, calculations

πŸ“ Project Structure

python-learning/
β”œβ”€β”€ basics/                     # Python fundamentals
β”‚   β”œβ”€β”€ 01_introduction/        # Hello World, input/output
β”‚   β”œβ”€β”€ 02_variables_types/     # Variables, operators
β”‚   β”œβ”€β”€ 03_control_flow/        # If/else, loops
β”‚   β”œβ”€β”€ 04_functions/           # Functions, recursion
β”‚   β”œβ”€β”€ 05_data_structures/     # Lists, tuples, sets, dicts
β”‚   β”œβ”€β”€ 06_strings/             # String operations
β”‚   β”œβ”€β”€ 07_file_handling/       # File I/O
β”‚   β”œβ”€β”€ 08_oop/                 # Object-Oriented Programming
β”‚   β”œβ”€β”€ 09_error_handling/      # Exceptions, try/except
β”‚   └── 10_advanced/            # Lambda, modules, advanced
β”œβ”€β”€ fastapi/                    # FastAPI examples
β”œβ”€β”€ rest_api/                   # Flask REST API
β”œβ”€β”€ llm_fundamentals/           # LLM from scratch
β”œβ”€β”€ exercises/                  # Exercise solutions
β”œβ”€β”€ data/                       # Dataset files
β”œβ”€β”€ .github/
β”‚   β”œβ”€β”€ ISSUE_TEMPLATE/         # Issue templates
β”‚   └── workflows/              # GitHub Actions
β”œβ”€β”€ README.md                   # This file
β”œβ”€β”€ CONTRIBUTING.md             # Contribution guide
β”œβ”€β”€ CODE_OF_CONDUCT.md          # Community guidelines
β”œβ”€β”€ CHANGELOG.md                # Version history
β”œβ”€β”€ SECURITY.md                 # Security policy
└── requirements.txt            # Dependencies

🀝 Contributing

We welcome contributions of all kinds! Here's how to help:

Ways to Contribute

  1. Solve Issues - Pick an issue and submit your solution
  2. Improve Documentation - Fix typos, add examples
  3. Create New Issues - Report bugs or suggest features
  4. Help Others - Answer questions in discussions
  5. Review PRs - Review and provide feedback

Quick Start for Contributors

# 1. Fork the repository
# 2. Clone your fork
git clone https://github.com/YOUR_USERNAME/Python.git
cd Python

# 3. Create a branch
git checkout -b feature/your-feature

# 4. Make your changes
# 5. Test your changes
# 6. Commit and push
git add .
git commit -m "feat: add your feature"
git push origin feature/your-feature

# 7. Create a Pull Request

Contribution Guidelines

  • βœ… Follow PEP 8 style guidelines
  • βœ… Add comments explaining your code
  • βœ… Include test cases
  • βœ… Update documentation if needed
  • βœ… Be respectful and inclusive

Need Help?


πŸ“œ Code of Conduct

Our Pledge

We pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.

Our Standards

Positive Behavior:

  • βœ… Demonstrating empathy and kindness
  • βœ… Being respectful of differing opinions
  • βœ… Giving and accepting constructive feedback
  • βœ… Accepting responsibility and apologizing

Unacceptable Behavior:

  • ❌ Sexualized language or imagery
  • ❌ Trolling, insulting, or derogatory comments
  • ❌ Public or private harassment
  • ❌ Publishing others' private information

Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to conduct@pythonmastery.dev. All complaints will be reviewed and investigated promptly and fairly.

Full Code of Conduct: CODE_OF_CONDUCT.md


πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

MIT License

Copyright (c) 2026 Python Learning Repository

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

πŸ™ Acknowledgments

  • Python Community - For creating and maintaining Python
  • All Contributors - Making this project possible
  • Open Source - For the amazing tools and libraries
  • You - For learning Python and joining our community!

πŸ“ž Support

Get Help

Stay Connected

  • ⭐ Star this repo to show support
  • πŸ”” Watch for updates
  • 🍴 Fork to contribute
  • πŸ“’ Share with friends

πŸŽ‰ Ready to Start Your Python Journey?


🀝 Contributing

We welcome contributions of all kinds! Here's how you can help:

Ways to Contribute

  • πŸ› Fix bugs - Find and fix issues in the codebase
  • πŸ“ Add examples - Contribute new Python examples
  • πŸ§ͺ Write tests - Add unit tests for existing code
  • πŸ“– Improve docs - Enhance documentation and explanations
  • πŸ’‘ Suggest features - Propose new learning modules
  • πŸ” Review code - Review pull requests from others

Quick Contribution Guide

  1. Fork the repository
  2. Create a branch (git checkout -b feature/your-feature)
  3. Make your changes
  4. Test your code
  5. Commit (git commit -m 'Add feature')
  6. Push (git push origin feature/your-feature)
  7. Open a Pull Request

πŸ“– See CONTRIBUTING.md for detailed guidelines.


πŸ‘₯ Meet Our Contributors

A huge thank you to everyone who has contributed to making this project better!

🌟 All Contributors

hackdartstorm
hackdartstorm

Project Creator & Maintainer
guerrevg
guerrevg

Contributor
aldomelpignano
aldomelpignano

Contributor
Rey-han-24
Rey-han-24

Contributor
Samprithajgowda
Samprithajgowda

Contributor

πŸŽ–οΈ Contributor Graph

Contributors

Want to be here? Make your first contribution!


Made with ❀️ by the Python Learning Community

Happy Coding! 🐍✨

About

A comprehensive Python guide 🐍✨ covering basics to advanced topics, file handling, OOP, error handling, projects, LLMs from scratch, FastAPI, REST APIs, and more β€” hands-on and beginner-friendly!

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%