Correzioni varie
*Corrette violazioni PEP8 *Aggiunte docstring
This commit is contained in:
parent
8ef937404e
commit
73d34a5cc0
37
de Buffon.py
37
de Buffon.py
@ -1,4 +1,7 @@
|
|||||||
import turtle,random,math
|
import math, random
|
||||||
|
import turtle
|
||||||
|
|
||||||
|
#Parametri
|
||||||
|
|
||||||
X = 100
|
X = 100
|
||||||
Y = 100
|
Y = 100
|
||||||
@ -9,31 +12,39 @@ N = 213
|
|||||||
assi = ()
|
assi = ()
|
||||||
|
|
||||||
def impostazioni():
|
def impostazioni():
|
||||||
|
"""Impostazioni per inizializzare turtle"""
|
||||||
turtle.title("Ago di Buffon")
|
turtle.title("Ago di Buffon")
|
||||||
turtle.setworldcoordinates(-(X+2), -(Y), X+2, Y)
|
turtle.setworldcoordinates(-(X+2), -(Y), X+2, Y)
|
||||||
turtle.hideturtle()
|
turtle.hideturtle()
|
||||||
turtle.speed(0)
|
turtle.speed(0)
|
||||||
|
|
||||||
def vai(x, y):
|
def vai(x, y):
|
||||||
|
"""Sposta il cursore al punto (x, y) senza tracciare una linea."""
|
||||||
turtle.pu()
|
turtle.pu()
|
||||||
turtle.goto(x,y)
|
turtle.goto(x, y)
|
||||||
turtle.pd()
|
turtle.pd()
|
||||||
|
|
||||||
def parquet(t):
|
def parquet(t):
|
||||||
global X,assi
|
"""Disegna le assi del parquet."""
|
||||||
vai(-X,-Y)
|
global X, assi
|
||||||
for x in range(-X,X+1,t):
|
vai(-X, -Y)
|
||||||
|
for x in range(-X, X+1, t):
|
||||||
assi += x,
|
assi += x,
|
||||||
turtle.lt(90)
|
turtle.lt(90)
|
||||||
turtle.goto(x,Y)
|
turtle.goto(x, Y)
|
||||||
vai(x,-Y)
|
vai(x, -Y)
|
||||||
turtle.rt(90)
|
turtle.rt(90)
|
||||||
vai(x+t,-Y)
|
vai(x+t, -Y)
|
||||||
|
|
||||||
def ago(l):
|
def ago(l):
|
||||||
vai(random.uniform(-X,X), random.uniform(-Y,Y))
|
"""
|
||||||
|
Lancia un'ago.
|
||||||
|
Se incrocia le assi lo colora di rosso e restituisce 1,
|
||||||
|
altrimenti restituisce 0.
|
||||||
|
"""
|
||||||
|
vai(random.uniform(-X, X), random.uniform(-Y, Y))
|
||||||
x1 = turtle.xcor()
|
x1 = turtle.xcor()
|
||||||
turtle.lt(random.uniform(0,360))
|
turtle.lt(random.uniform(0, 360))
|
||||||
turtle.fd(l)
|
turtle.fd(l)
|
||||||
x2 = turtle.xcor()
|
x2 = turtle.xcor()
|
||||||
for x in assi:
|
for x in assi:
|
||||||
@ -42,7 +53,8 @@ def ago(l):
|
|||||||
turtle.bk(l)
|
turtle.bk(l)
|
||||||
turtle.pencolor("black")
|
turtle.pencolor("black")
|
||||||
return 1
|
return 1
|
||||||
return 0
|
else:
|
||||||
|
return 0
|
||||||
|
|
||||||
impostazioni()
|
impostazioni()
|
||||||
parquet(T)
|
parquet(T)
|
||||||
@ -54,5 +66,6 @@ for i in range(N):
|
|||||||
except ZeroDivisionError:
|
except ZeroDivisionError:
|
||||||
π = 0
|
π = 0
|
||||||
print(π)
|
print(π)
|
||||||
print("Scarto:",abs(100-(π/math.pi*100)),"%")
|
|
||||||
|
print("Scarto:", abs(100-(π/math.pi*100)), "%")
|
||||||
turtle.mainloop()
|
turtle.mainloop()
|
||||||
|
Loading…
Reference in New Issue
Block a user