描述:
求解圆周率可以采用蒙特卡罗方法,在一个正方形中撒点,根据在1/4圆内点的数量占总撒点数的比例计算圆周率值。
要求:
请以123作为随机数种子,获得用户输入的撒点数量,编写程序输出圆周率的值,保留小数点后6位。
示例:
输入:1024
输出:3.218750
代码:
#CalculatePiV2.py
from random import*
seed(123)
Points=eval(input()) #投掷的总点数
hits=0.0 #在圆内部的总点数
for i in range(1,Points+1):
x,y=random(),random()
dist=pow(x**2+y**2,0.5) #(x,y)与原点的距离
if dist<=1.0:
hits+=1
pi=4*(hits/Points)
print("{:.6f}".format(pi))