实例6:圆周率的计算
这是"实例"题,与课上讲解实例相同,请作答检验学习效果。
求解圆周率可以采用蒙特卡罗方法,在一个正方形中撒点,根据在1/4圆内点的数量占总撒点数的比例计算圆周率值。
请以123作为随机数种子,获得用户输入的撒点数量,编写程序输出圆周率的值,保留小数点后6位。
输入示例
1024
输出示例
3.218750
**********************************************
代码:
蒙特卡洛 pi/4 : 1 = hits :darts
from random import random,seed
seed(123)
darts = eval(input())
hits = 0.0
for i in range(darts):
x,y = random(),random()
dist = pow(x**2 + y**2,0.5)
if dist <= 1.0:
hits = hits+1
pi = 4*(hits/darts)
print("{:.6f}".format(pi))