Learn Without Walls
← Back to Free Courses

Python Practice Labs

Real Python. In your browser. No installs.

10 hands-on labs for students who’ve completed Introduction to Python. Write code, click Run, see results — instantly.

10 Labs Runs in Browser Free No Installs Self-Paced
Your Progress Loading...

Progress is saved in your browser. No account needed.

🐍

Powered by Pyodide — Python runs right here

No accounts. No downloads. No Jupyter. No Replit. Python runs directly in your browser using Pyodide — a full Python runtime compiled to WebAssembly. Everything stays right here on this page.

📋 Before You Start

These labs assume you know the basics — variables, loops, functions, lists. If you’ve completed our Introduction to Python course, you’re ready. If not, start there first!

← Take Introduction to Python first

10
Labs
40+
Exercises
0
Installs
Free
Always
The 10 Labs

🟦 Foundations — Labs 1–4
Available
1

Variables & Data Types

Back to basics — but faster and deeper

Review int, float, str, bool, type conversion, and f-strings. Build a complete student profile.

variables types f-strings type()
Open Lab →
Available
2

Conditionals & Logic

Making decisions in code

Master if/elif/else, comparison and logical operators, and nested conditions. Write FizzBuzz and a grade calculator.

if/elif/else and/or/not FizzBuzz
Open Lab →
Available
3

Loops & Iteration

Making Python do the repetitive work

Practice for loops, while loops, range(), enumerate(), zip(), break, and continue. Analyze weekly sales data.

for/while range() enumerate zip
Open Lab →
Available
4

Functions

Write once, use anywhere

Build functions with defaults, return values, *args, and **kwargs. Create a full unit converter toolkit.

def return defaults *args
Open Lab →
🟩 Intermediate — Labs 5–7
Available
5

Lists & Dictionaries

Python’s most powerful built-ins

Master list comprehensions, dict operations, .get(), .items(), and sorting with key=. Build a shopping cart system.

lists dicts comprehensions sorted()
Open Lab →
Available
6

String Methods

Python’s most underrated superpower

Deep dive into .strip(), .split(), .join(), .replace(), slicing, and f-strings. Build a Caesar cipher and text analyzer.

strings methods slicing f-strings
Open Lab →
Available
7

Working with Data

Structuring real-world data

Work with lists of dicts, sort/filter/aggregate without pandas. The foundation of data analysis. Build a sales processor.

records groupby sorting aggregation
Open Lab →
🔴 Advanced — Labs 8–10
Available
8

pandas Basics

The data analyst’s essential library

Create DataFrames, filter rows, groupby, .describe(), and basic aggregations. Answer business questions with pandas.

pandas DataFrame groupby filter
Open Lab →
Available
9

Data Visualization

Turning numbers into pictures

Build bar, line, scatter, and histogram charts with matplotlib. Create multi-panel dashboards with subplots.

matplotlib bar scatter subplots
Open Lab →
Available
10

Capstone Project

Put everything together

A real mini data analysis project. You’re a data analyst with 5 business questions to answer — using pandas, matplotlib, and everything you’ve learned.

pandas matplotlib analysis capstone
Open Lab →

How Each Lab Works

Every lab follows the same 5-part structure so you always know what to expect.

📖

Concept Recap

A quick review of the key ideas you’ll practice — no new theory, just a reminder.

👀

Worked Example

A complete, runnable code example showing the concepts in action.

✏️

Guided Exercise

Starter code with blanks to fill in. Lower stakes, lots of hints.

💪

Independent + Challenge

Two exercises where you write more on your own. The challenge pushes further.

🏆

Mini Project

A complete real-world task that ties the whole lab together.

Technical notes