手机版 欢迎访问it开发者社区(www.mfbz.cn)网站

当前位置: > 开发

用 Monte Carlo算pi

时间:2021/5/28 2:51:51|来源:|点击: 次

#Berechnung von pi mit Monte Carlo
#Visualisierung mit turtle

import random
from turtle import Turtle
points=int(input('number of points: '))

#Zeichenflaeche erstellen

tt=Turtle()  #tt只是一个变量的名字
tt.hideturtle()
tt.speed(0)

Quadrat zeichnen

‘’'turtle.pendown()
turtle.pd()
turtle.down(),下笔,移动时绘画。

turtle.penup()
turtle.pu()
turtle.up(),拿起笔,移动时不绘画。’’’

tt.up()
tt.setposition(-100,-100) 
tt.down()
tt.fd(200)        #就等于turtle.forward()
tt.left(90)       #逆时针转动的角度
tt.fd(200)
tt.left(90)
tt.fd(200)
tt.left(90)
tt.fd(200)

Quadrat ist fertig

Kreis zeichnen

tt.up()
tt.color('red')
tt.setposition(-100,0)
tt.down()
tt.circle(100)

Kreis ist fertig

Monte Carlo

in_circle=0
out_circle=0
for i in range(points):
# zufaellige Koordinaten im Interva
x=random.randrange(-100,100)
y=random.randrange(-100,100)

if (x*x+y*y>10000):
    out_circle+=1   #一直加1,一直到我输入的数值为止
    tt.color('black')
    tt.up()
    tt.goto(x,y)   #将画笔移动到(x,y)
    tt.down()
    tt.dot()   #设置一个指定直径的圆点
else:
    in_circle+=1
    tt.color('red')
    tt.up()
    tt.goto(x,y)
    tt.down()
    tt.dot()
pi=4*in_circle/(in_circle+out_circle)
print('PI: ',pi)

Copyright © 2002-2019 某某自媒体运营 版权所有