Online Python Compiler & Debugger

Write, run, and debug Python code online. Set breakpoints and step through code in Server mode, or use the full IDE for multiple files, libraries, saved workspaces, sharing, and live collaboration—no setup required.

🚀 4,279,704 total executions (104 this month)
Output

Practice Python with coding challenges

Solve hands-on problems right in this editor: run the sample tests, submit, and get an AI code review.

All Python challenges
Easy

Average of Three

Average three whole numbers.

You'll learn ArithmeticDivision
BeginnerLearning-pathVariables
Easy

Rectangle Perimeter

Compute the perimeter of a rectangle from its sides.

You'll learn ArithmeticReturn values
BeginnerLearning-pathVariables
Medium

One Generation of a Genetic Algorithm

Breed the next generation of bit strings with tournament selection, single-point crossover and mutation.

You'll learn Genetic algorithmsEvolutionary search
OptimizationSimulationai
No solutions yet
Easy

Epsilon-Greedy Multi-Armed Bandit

Balance exploration and exploitation on a multi-armed bandit with epsilon-greedy action selection.

You'll learn Explore vs exploitBandits
Reinforcement learningaimachine learning
No solutions yet
Easy

Markov Chain State Distribution

Propagate a probability distribution through a Markov chain's transition matrix for a number of steps.

You'll learn Markov chainsProbability
Simulationaimath
No solutions yet
Medium

Q-Learning Updates

Apply the Q-learning update to a stream of experiences and watch rewards flow back to earlier states.

You'll learn Q-learningDiscounted rewards
Reinforcement learningaimachine learning
No solutions yet
Medium

Alpha-Beta Pruning

Evaluate a game tree with minimax and alpha-beta pruning, and count how many leaves the search really looks at.

You'll learn Alpha-beta pruningGame search
RecursionTreesai
No solutions yet
Medium

Minimax Tic-Tac-Toe

Pick the perfect tic-tac-toe move by searching the whole game tree with minimax.

You'll learn MinimaxGame trees
Recursionai
No solutions yet
Medium

A* Search on a Weighted Grid

Find the cheapest path across a grid of terrain costs with A*, the search algorithm behind game and robot pathfinding.

You'll learn A* searchHeuristics
GraphsGridsShortest-pathai
No solutions yet
Medium

Temperature and Top-K Sampling

Choose the next token like a language model does: keep the top k logits, apply temperature, and sample.

You'll learn Text generationSampling
aimachine learning
No solutions yet
Hard

Multi-Head Self-Attention

Project the input into queries, keys and values, run attention in several heads in parallel, and combine them.

You'll learn Multi-head attentionMatrix projections
aimachine learning
No solutions yet
Medium

Layer Normalization

Normalize each row to zero mean and unit variance, then scale and shift it, as every Transformer block does.

You'll learn Layer normTransformers
Neural networksaimachine learning
No solutions yet

🐍 About This Python Online Executor

The CodeUtility Python Executor lets you write, run, and test Python code directly in your browser - no setup or installation required. It’s powered by a secure sandbox that supports real Python versions from 3.10 to 3.13.

Whether you’re learning Python for the first time, testing quick snippets, or debugging logic, this tool provides a fast, distraction-free coding environment. You can experiment freely and see output instantly in the built-in console.

It’s ideal for beginners, students, and developers who need a lightweight online IDE for Python practice or quick prototyping.

More than a code runner

Use a multi-file editor, an isolated execution terminal, runtime-specific libraries, persistent workspaces, sharing, and real-time collaboration from the same executor.

How to use this executor?

Choose a runtime, open or create a file, write your code, and select Run. Output appears in the terminal, while signed-in users can keep files in a workspace, install libraries, and collaborate through shares.

  1. Select a version and edit the current file or open another workspace file.
  2. Run the code, provide input in the terminal when requested, and review saved run history.
  3. Use libraries, workspace tools, sharing, and chat when your task needs more than one snippet.

💡 Python Basics & Examples You Can Try Above

1. Declaring Variables and Constants

Python is dynamically typed, so you don’t need to declare types explicitly. There's no built-in constant keyword, but by convention, constants are written in all-uppercase.

# Variables
x = 10
pi = 3.14
name = "Alice"
is_active = True

# Constants (by convention)
MAX_USERS = 100
APP_NAME = "CodeUtility"

# Constants can still be reassigned (not enforced)
MAX_USERS = 200  # ⚠️ Technically allowed, but discouraged

2. Conditionals

Control logic with if, elif, and else blocks. In Python 3.10+, you can also use match-case as a switch-case alternative.

# Traditional if-elif-else
x = 2
if x == 1:
    print("One")
elif x == 2:
    print("Two")
else:
    print("Other")

Alternative: match-case (Python 3.10+)

# Requires Python 3.10+
x = 2
match x:
    case 1:
        print("One")
    case 2:
        print("Two")
    case _:
        print("Other")

3. Loops

for is used to iterate over sequences, while runs as long as a condition is true.

for i in range(3):
    print(i)

count = 3
while count > 0:
    print(count)
    count -= 1

4. Lists

Lists are ordered, mutable collections. You can access elements by index.

fruits = ["apple", "banana"]
print(fruits[0])
print(len(fruits))

5. List Manipulation

Add, remove, slice, and reverse lists. List comprehensions allow compact iteration.

fruits.append("cherry")
fruits.insert(1, "kiwi")
fruits.remove("banana")
fruits.pop()

print(fruits[1:3])
print(fruits[::-1])

squares = [x*x for x in range(5)]

6. Console Input/Output

Use input() to read from users and print() to display output.

You can print multiple lines using \n (newline character) or by calling print() multiple times.

# Read input
name = input("Enter your name: ")
print("Hello", name)

# Print multiple lines
print("Line 1\nLine 2\nLine 3")

# Or use multiple print statements
print("Line A")
print("Line B")
print("Line C")

7. Functions

Functions help organize code and allow reuse. Use parameters and return values.

def greet(name):
    return "Hello " + name

print(greet("Alice"))

8. Dictionaries

Store key-value pairs. Keys are unique and values can be accessed via keys.

person = {"name": "Bob", "age": 25}
print(person["name"])
print(person.get("email", "Not provided"))

9. Exception Handling

Use try and except to catch and handle errors gracefully.

try:
    x = 1 / 0
except ZeroDivisionError:
    print("Cannot divide by zero")

10. File I/O

Read from and write to files using open().

with open("data.txt", "w") as f:
    f.write("Hello World")

with open("data.txt", "r") as f:
    print(f.read())

11. String Manipulation

Python strings have powerful methods like strip(), replace(), and split().

text = "  Hello World  "
print(text.strip())
print(text.upper())
print(text.replace("Hello", "Hi"))
print(text.split())

12. Classes & Objects

Define reusable blueprints with classes. Use __init__ to initialize objects.

class Person:
    def __init__(self, name):
        self.name = name

    def greet(self):
        return "Hi, I'm " + self.name

p = Person("Alice")
print(p.greet())

🐞 How to Debug Python Code Online

Use the online Python debugger to find logic errors without installing Python or a desktop IDE. Debugging runs with a real Python runtime in Server mode and supports Python 3.10 through 3.13.

  1. Select a server-based Python version from the runtime menu.
  2. Click beside a line number to set one or more breakpoints.
  3. Select Debug to start the program and pause on the first matching breakpoint.
  4. Inspect the current line and variables, then use Continue, Step Over, Step Into, or Step Out.
  5. Select Stop when you want to end the debugging session.

For a quick Python online debug session, start with a small reproducible example and place a breakpoint just before the value becomes unexpected. Server mode can also run workspace files and installed libraries.