Я только начинаю программировать, и это задание доставляет мне много хлопот. Как мне изменить приведенный ниже код Монте-Карло (используемый для площади под кривой), чтобы он оценивал число пи?
from random import uniform
from math import exp
def estimate_area(f, a, b, m, n=1000):
hits = 0
total = m * (b - a)
for i in range(n):
x = uniform(a, b)
y = uniform(0, m)
if y <= f(x):
hits += 1
frac = hits / n
return frac * total
def f(x):
return exp(-x**2)
def main():
print(estimate_area(f, 0, 2, 1))
main()
Любая помощь будет принята с благодарностью. Спасибо.