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
Strings & Text easy

Caesar Cipher Shift

Implement a function to apply a Caesar cipher shift to a string, preserving case and ignoring non-letters.

strings ascii cipher
+10 pts 15m
Strings & Text easy

Caesar Cipher Shift

Write a function that shifts letters in a string by a given amount, preserving case and ignoring non-letters.

caesar string cipher
+8 pts 10m
Strings & Text easy

Rotate String Right

Implement a function that rotates a given string to the right by a specified number of positions, handling shifts larger than the string length.

strings rotation slicing
+8 pts 10m
Strings & Text easy

Caesar Cipher Decrypt

Implement a function that decrypts a Caesar cipher by shifting letters back by a given number.

strings ascii cipher
+10 pts 15m
Strings & Text easy

Caesar Cipher Decrypt

Write a function that decrypts a Caesar cipher by shifting letters backward by a given key.

strings cipher ascii
+10 pts 15m
Math & Number Theory easy

Multiply without multiply

Write a function that multiplies two integers using only addition, subtraction, and bit shifts — no * operator.

multiplication bit-manipulation arithmetic
+8 pts 12m
Bit Manipulation easy

Gray Code Encode

Implement a function that converts a non-negative integer to its Gray code representation using bitwise XOR and shift.

bitwise gray-code encoding
+10 pts 15m
Bit Manipulation medium

Divide using shifts

Implement division of two integers using only bit shifts and arithmetic, without using division or modulo operators.

integer division bit shifts overflow
+20 pts 20m
Matrix & 2D Arrays medium

Shift 2D Grid

Implement a function to shift a 2D grid right by k positions, flattening the grid and wrapping elements.

grid list modulo
+20 pts 20m

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