Random Numbers and Simulation
May 30, 2026 | 5 min read
Monte Carlo Pi
import random
def estimate_pi(samples: int) -> float:
inside = 0
for _ in range(samples):
x, y = random.random(), random.random()
if x * x + y * y <= 1.0:
inside += 1
return 4.0 * inside / samples
Random Walk
def random_walk(steps: int) -> int:
position = 0
for _ in range(steps):
if random.random() < 0.5:
position += 1
else:
position -= 1
return position
Seeding for Reproducibility
random.seed(42)
estimate_pi(1000000)