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
Regular Expressions easy

Match scientific notation

Implement a function that checks if a string is in valid scientific notation.

regex validation scientific-notation
+10 pts 15m
Math & Number Theory easy

Armstrong Number Check

Implement a function that checks if a given integer is an Armstrong number.

arithmetic number-theory validation
+10 pts 10m
Trees & Binary Trees medium

Validate BST

Implement a function to determine if a binary tree is a valid Binary Search Tree.

bst recursion validation
+25 pts 25m
Graphs & Graph Algorithms medium

Bipartite Graph Check

Implement a function to check if an undirected graph is bipartite using graph coloring.

graphs bfs coloring
+25 pts 30m
Stacks & Queues easy

Balanced brackets in string

Check if a string of brackets is properly balanced using a stack-based approach.

stack string parsing
+10 pts 15m
Matrix & 2D Arrays easy

Valid Sudoku Board

Determine if a 9x9 Sudoku board is valid by checking rows, columns, and 3x3 sub-boxes.

matrix set validation
+10 pts 15m
Matrix & 2D Arrays easy

Valid Sudoku Validator

Determine if a given 9x9 Sudoku board is valid by checking rows, columns, and 3x3 boxes.

matrix validation set
+10 pts 15m
Matrix & 2D Arrays easy

Toeplitz Matrix Check

Write a function is_toeplitz(matrix) that checks if a 2D list is a Toeplitz matrix, where all elements on the same diagonal from top-left to bottom-right are identical.

matrix array diagonal
+10 pts 15m
Matrix & 2D Arrays easy

Matrix Multiply 2D

Write a function that multiplies two 2D matrices (lists of lists) and returns the product matrix.

matrix multiplication nested-loops
+8 pts 10m

Showing 25–33 of 33 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.