Practice Arena

Python Coding Challenges

Write real Python in the browser. Instant feedback. From beginner to expert.

925 challenges 556 easy 323 medium 46 hard
Data Formats & Parsing easy

Generate CSV row

Implement a function that converts a list of values into a single CSV row with correct quoting and escaping.

csv escaping strings
+8 pts 12m
Data Formats & Parsing medium

Flatten nested JSON

Write a function that flattens nested JSON objects into a flat dictionary with dot-separated keys, handling lists and empty objects.

json recursion dictionaries
+20 pts 25m
Data Formats & Parsing easy

Update Row by ID

Given a list of CSV rows and target ID, replace the first matching row's value.

csv parsing list
+8 pts 12m
Data Formats & Parsing easy

Parse CSV Row

Implement a robust function that parses a single CSV line into a list of fields, handling double quotes and escaped quotes.

csv parsing strings
+10 pts 15m
Data Formats & Parsing easy

Parse table rows

Implement a function that converts a simple text table into a list of dictionaries.

parsing strings csv
+10 pts 15m
SQL & SQLite easy

Inner Join Two Tables

Write a function that inner joins two lists of dictionaries on a common key and returns the combined rows.

sql join dictionaries
+8 pts 12m
SQL & SQLite easy

Create Table Schema

Write a function that creates a SQLite table with a given name and columns, and returns the resulting schema as a list of column definitions.

sqlite schema table
+8 pts 10m
SQL & SQLite easy

Select All Users

Write a function that connects to an in-memory SQLite database and returns all users as a list of lists.

sqlite sql query
+10 pts 15m
Numpy & Vectorized Computing easy

Element-wise vector addition

Add equal-length numeric lists element-wise.

vectors arrays numpy-style
+10 pts 12m

Showing 265–273 of 273 challenges

Guide: free Python coding challenges

Practice Python by solving problems

PythonSkillset challenges are hands-on coding exercises from beginner to advanced. Open a challenge, read the problem, write Python in the split-pane editor, and run tests with Pyodide — no install required.

How to use the arena

  1. Pick a category — basics, algorithms, strings, and more
  2. Open a challenge, read the statement, and edit the starter code
  3. Run tests, fix failures, then try a related quiz or tutorial lesson

Challenges vs tutorials and quizzes

Challenges test what you can build under constraints. For guided teaching, use our Python tutorials. For quick checks, try quizzes or copy snippets from code samples.