Learn Python with interactive courses, games, and programming challenges.

Code Combat

Learn Python while gaming - an open-source project with thousands of contributors, which teaches you Python through a deep, top-down RPG.

Level up your programming skills with more than 2600 exercises across 47 programming languages, Python included. The website provides a mentored mode, where you can get your code reviewed for each solution you submit. The mentors will give you insightful advice to make you a better programmer.

Python Tutor

Write Python code in your web browser, and see it visualized step by step.

Python Morsels

Learn to write more idiomatic Python code with deliberate practice! Sign up for this service and receive one short Python exercise every week. After you attempt to work through the exercise, you'll receive a number of solutions to the exercise with explanations of each one. Each exercise will include automated tests and some may include bonuses for a little more of a challenge!


SoloLearn's Python 3 course serves as a simple and convenient introduction to Python. Containing exercises and quizzes in modules to cover introductory subjects of the language, you can pick it up and put it down between your busier aspects of life thanks to both PC and mobile apps being available to use.


EduBlocks provides a simple drag and drop interface to help beginners get to grips with the key concepts of Python. There is built-in support for modules such as random, turtle, processing and pygal to play around with, and it even allows you to export the Python code you have written in the graphical editor. EduBlocks also has integration with BBC micro:bit, Raspberry Pi and CircuitPython allowing you to write code for these devices graphically and export the code to run on actual devices.

JetBrains Academy

Learn Python with a wide range of high quality, project-based lessons. Keep track of your progress as you cover all the basic concepts a Python programmer needs to know, as well as touching on more advanced areas such as web development with Django, natural language processing with NLTK, and data science with NumPy, pandas, and scikit-learn! It requires a paid subscription, but a free trial is available.