p
y
c
h
a
l
l
e
n
g
e
r
About
Courses
Challenges
Projects
Sign in
Get Started
Python Basics
Intermediate Python
Basic Data Analysis
Python Basics
COURSE
First Steps
Make your first steps in Python. Learn how to create variables, how to print their values, and how to comment your code.
COURSE
Operators I
Learn how to perform basic mathematical operations in Python and how to store the results in variables.
COURSE
Strings I
Create and manipulate Python strings. You will be introduced to various string methods and learn about indexing and slicing.
COURSE
Booleans
You will get to know the Boolean data type and apply this knowledge using new types of operators: comparison and logical operators.
COURSE
Conditionals I
Learn all about conditional statements, which let you control the flow of your program by executing specific blocks of code based on certain conditions.
COURSE
Functions I
This series of Python exercises introduces the fundamental concepts and syntax of functions. You will learn how to define, call, and pass arguments to functions.
COURSE
Lists and Tuples
Learn how to store multiple values in data collections like lists and tuples, and discover how to efficiently add, remove, and access elements within these collections.
COURSE
Loops
This Python course covers the basics of loops. You will learn how to use for and while loops and how to control the flow of a loop using break and continue.
COURSE
Dictionaries
In this course, you will learn about Python dictionaries, a versatile data structure that stores key-value pairs for efficient data retrieval and manipulation.
COURSE
Sets
Discover Python sets, the collection that automatically removes duplicates. Learn to create, modify, and combine sets using mathematical operations.
COURSE
Time to Practice I
It's time to put your new skills to the test! In this section, you'll find a range of exercises that bring together all the things you've learned in the previous sections.
Intermediate Python
COURSE
Strings II
This course builds on your existing knowledge about Python strings. You'll explore additional string methods and learn the f-string syntax.
COURSE
Unpacking
Discover how to use Python's packing and unpacking to assign multiple variables, swap values, and handle function arguments.
COURSE
Functions II
Learn how to manage variable scope in Python functions! We'll cover local, global, and nonlocal scopes, and how each affects variable behavior within functions.
COURSE
Working With Iterables
Learn to work with Python iterables using techniques like list comprehension, aggregation, and zip() to manipulate data.
COURSE
Working With Iterables II
Extend your iterable toolkit with dict and set comprehensions, enumerate(), sorted() with key functions, and all() / any() for condition testing.
COURSE
Error Handling
Catch and handle exceptions instead of letting your programs crash. Learn try, except, else, finally, and how to raise your own exceptions for input validation.
COURSE
Functions III
Learn about higher-order functions. You'll also discover how to leverage lambda functions for creating concise, anonymous functions, and apply 'map' and 'filter' to manipulate and process data collections effectively.
COURSE
Classes and OOP I
Define your own classes and create objects. Learn constructors, methods, class attributes, and string representations, then combine OOP with lists, dicts, loops, and more.
COURSE
Classes and OOP II
Reuse a parent class with inheritance, override or extend its methods with super(), and make your own types behave like built-ins through magic methods.
COURSE
Generators
Stop building whole lists when you only need one value at a time. This series introduces generator functions, generator expressions, and yield from for chaining.
COURSE
Decorators
Wrap functions to add behaviour around them. Build decorators by hand, use the @ shortcut, support arbitrary arguments, and write decorator factories that take parameters of their own.
COURSE
Datetime
Stop juggling dates as plain text. Build real date and datetime values, format and parse them, and shift them around with timedelta.
Basic Data Analysis
COURSE
NumPy
If you want to learn data analysis in Python, you need to learn NumPy, the standard library for numerical data. This course covers array creation, indexing, and boolean indexing.
COURSE
NumPy II
Build on your NumPy foundation with array arithmetic, aggregation functions like sum and mean, and array reshaping.
COURSE
Matplotlib
Learn how to create line and scatter plots with matplotlib, and customize their appearance with titles, labels, grids, and legends.
COURSE
Matplotlib II
Go beyond line plots. Learn to create bar charts, histograms, and pie charts to visualize categorical and distribution data.
COURSE
pandas
Learn how to load data into pandas DataFrames, inspect and slice them, filter rows by condition, and compute basic statistics.
COURSE
pandas II
Build on your pandas foundation with sorting, groupby aggregations, and techniques for detecting and handling missing values.
COURSE
Data Analysis Fundamentals
Tie everything together. Learn the data analysis workflow: explore datasets, count values, derive new columns, and visualize your findings.
COURSE
Marathon Data
Work through a real marathon dataset that needs cleaning before any analysis is possible. Rename columns, remove duplicates, fix inconsistent text, convert types, and join two data sources.