python实验使用蒙特卡洛方法计算圆周率


import random   #导入random随机
r = 2
fang=0
yuan=0
i = int(input("请输入扔飞镖的次数: "))
for j in range(1,i+1):
    x = random.uniform(-r,r)  #生成随机的x
    y = random.uniform(-r,r)  #生成随机的y
    a=x ** 2   #**表示幂
    b=y ** 2
    c=(a+b) ** 0.5
    if(c > r):
        fang=fang+1
    elif c <= r:
        yuan=yuan+1
        fang=fang+1
    else:  #极小概率出现在圆上
        continue
    if(fang==0): #分母不能为0
        continue
pai=yuan/fang*4
print(pai)

  要注意,random为真随机,所以每次生成的值不一定相同


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM