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 Structures & Algorithms medium

Eulerian Path Check

Given the number of vertices and an edge list of an undirected graph, decide if it has an Eulerian path.

graph eulerian degree
+25 pts 25m
Graphs & Graph Algorithms easy

Cycle Detection in Undirected Graph

Write a function that detects if an undirected graph contains a cycle.

graph dfs cycle-detection
+10 pts 15m
Graphs & Graph Algorithms medium

Articulation Points

Implement a function that returns the articulation points of an undirected graph.

graphs dfs bridges
+25 pts 30m
Graphs & Graph Algorithms medium

Bridges in Graph

Implement a function that returns all bridges in an undirected graph.

graph dfs bridges
+30 pts 30m
Graphs & Graph Algorithms medium

Hamiltonian Path Check

Implement a function that checks whether an undirected graph has a Hamiltonian path using DFS and backtracking.

graph dfs backtracking
+30 pts 30m
Graphs & Graph Algorithms hard

Minimum Cut

Given an undirected graph in adjacency-list form, return the size of the minimum edge cut that disconnects the graph.

graphs max-flow min-cut
+40 pts 35m
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
Graphs & Graph Algorithms medium

Graph Coloring

Given an undirected graph, determine if it can be colored with two colors such that adjacent vertices have different colors.

graph bipartite bfs
+20 pts 20m
Graphs & Graph Algorithms medium

Prim's Minimum Spanning Tree

Given a connected undirected weighted graph, compute the total weight of its minimum spanning tree using Prim's algorithm.

graphs mst prim
+30 pts 30m
Graphs & Graph Algorithms medium

Kruskal MST

Implement Kruskal's algorithm to compute the total weight of a minimum spanning tree in a connected undirected graph.

graphs minimum-spanning-tree union-find
+25 pts 30m
Graphs & Graph Algorithms easy

Clique Detection

Given an undirected graph and a list of vertices, check if every pair of distinct vertices in the list is connected by an edge.

graphs cliques adjacency-matrix
+10 pts 15m
Graphs & Graph Algorithms medium

Minimum Height Trees

Given an undirected tree, find all root nodes that minimize the height of the tree.

graphs bfs topological
+30 pts 30m
Recursion & Backtracking hard

Hamiltonian Cycle Backtrack

Implement a backtracking algorithm to find a Hamiltonian cycle in an undirected graph.

backtracking graph hamiltonian
+45 pts 40m

Showing 1–13 of 13 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.