Python 圆周率的计算
题目描述
求解圆周率可以采用蒙特卡罗方法,在一个正方形中撒点,根据在1/4圆内点的数量占总撒点数的比例计算圆周率值。
请以给定的数字作为随机数种子,获得用户输入的撒点数量,编写程序输出圆周率的值,保留小数点后6位。
输入
输入两行,第一行表示用户撒点的数量,第二行表示随机数种子。
保证撒点数量 < 3*105
输出
输出一个含有 6 位小数的值,表明本次撒点实验得到的圆周率。
样例输入
1024
123
样例输出
3.218750
运行代码
import random
DARTS=int(input())
Seed=int(input())
random.seed(Seed)
hits=0
for i in range(1,DARTS+1):
x= random.uniform(0,1)
y=random.uniform(0,1)
dist=pow(x**2+y**2,0.5)
if dist<=1.0:#判断点是否在圆形内
hits+=1
pi=4*(hits/DARTS)
print("%.6f" % pi)