A curated list of the best resources for practicing Python - exercises, challenges, katas, interactive platforms, books, and newsletters - with a dedicated section for data analysis and Pandas.
Reading about Python only gets you so far. You get fluent by doing: solving problems, getting stuck, and working through real exercises. This list collects the resources worth your time, organized by how you like to practice and by skill level.
Maintained by Reuven Lerner. A few entries here are resources I created - Python Workout, Pandas Workout, and Bamboo Weekly - included because they fit, alongside many I didn't. Suggestions and pull requests for anything I've missed are very welcome.
- Interactive platforms
- Coding challenges & competitive programming
- Katas & deliberate practice
- Beginner exercises
- Open-source exercise collections
- Books with exercises
- Data analysis & Pandas practice
- Interview practice
- Contributing
- License
In-browser, auto-graded, or mentored practice - great when you want immediate feedback.
- 4Geeks - Python beginner exercises - Interactive, auto-graded, with video walkthroughs.
- CheckiO - Solve Python tasks presented as games.
- Codecademy - Learn Python 3 - Interactive lessons (free tier available).
- Exercism - Python track - Free, with hundreds of exercises and volunteer mentoring.
- Futurecoder - Free, interactive intro with an in-browser debugger and hints.
- freeCodeCamp - Scientific Computing with Python - Free, project-based.
Problem sets that push your algorithmic and problem-solving skills.
- Advent of Code - A yearly December calendar of puzzles; a community favorite.
- Codewars - Community-authored "kata" challenges with discussion of solutions.
- CodinGame - Solve puzzles by writing code that drives games.
- Edabit - Bite-size challenges with instant feedback.
- HackerRank - Python - Categorized challenges from easy to hard.
- Project Euler - Math-flavored programming problems.
Short, repeatable exercises for honing fluency.
- Awesome Katas - A curated list of code katas across languages.
- PyBites - Python exercises and challenges ("Bites of Py").
- Python Morsels - Weekly exercises with thorough explanations (paid).
Gentle, well-structured starting points.
- CodingBat - Python - Small logic and string problems with instant checking.
- PYnative - Python Exercises - Topic-organized exercises and quizzes.
- Practice Python - 30+ beginner exercises, each with a solution.
- w3resource - Python Exercises - A large, categorized collection.
Free problem sets you can clone and work through.
- Asabeneh/30-Days-Of-Python - A 30-day guided challenge with exercises.
- darkprinx/break-the-ice-with-python - 100+ problems, explained and solved several ways.
- zhiwehu/Python-programming-exercises - 100+ challenges by difficulty.
Books and resources built around doing, not just reading.
- Automate the Boring Stuff with Python - Free online; practical, project-driven practice.
- Learn Python the Hard Way - Learn by typing and running exercises.
- Pandas Workout - 200 exercises for Pandas and data analysis (Manning).
- Practice Makes Regexp - 50 regular-expression exercises, with Python solutions.
- Python Crash Course - Beginner book with "Try It Yourself" exercises and projects.
- Python Workout - 50 exercises to sharpen core Python skills (Manning).
- codecrafters-io/build-your-own-x - Rebuild real-world tools (a shell, a Git, a database…) from scratch.
Practice with real, messy data - the part of Python many learners most want to improve.
- Bamboo Weekly - Weekly Pandas practice on current-events datasets, with worked solutions.
- Kaggle Learn - Pandas - A free, interactive Pandas micro-course.
- TidyTuesday - A weekly real dataset to practice on (R-origin, but the data is language-agnostic).
- guipsamora/Pandas_exercises - A free, popular set of Pandas exercises by topic.
- Pandas docs - Tutorials & Books - The official, community-curated learning list.
- LeetCode - The de facto coding-interview prep platform.
- NeetCode - Curated LeetCode roadmaps with video explanations.
- StrataScratch - Data-science and analytics interview questions.
Found a great Python practice resource that isn't here? Please open a pull request - see CONTRIBUTING.md. In short: keep entries genuinely useful, add them to the right section in the existing format, and write a short, neutral description.
To the extent possible under law, the contributors have waived all copyright and related rights to this work (CC0 1.0 Universal).
