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