Correzione PEP8
This commit is contained in:
parent
73d34a5cc0
commit
9b41419afb
28
de Buffon.py
28
de Buffon.py
@ -6,40 +6,44 @@ import turtle
|
|||||||
X = 100
|
X = 100
|
||||||
Y = 100
|
Y = 100
|
||||||
T = 20
|
T = 20
|
||||||
L = 5/6*T
|
L = 5 / 6 * T
|
||||||
N = 213
|
N = 213
|
||||||
|
|
||||||
assi = ()
|
assi = ()
|
||||||
|
|
||||||
|
|
||||||
def impostazioni():
|
def impostazioni():
|
||||||
"""Impostazioni per inizializzare turtle"""
|
"""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."""
|
"""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):
|
||||||
"""Disegna le assi del parquet."""
|
"""Disegna le assi del parquet."""
|
||||||
global X, assi
|
global X, assi
|
||||||
vai(-X, -Y)
|
vai(-X, -Y)
|
||||||
for x in range(-X, X+1, t):
|
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):
|
||||||
"""
|
"""
|
||||||
Lancia un'ago.
|
Lancia un'ago.
|
||||||
Se incrocia le assi lo colora di rosso e restituisce 1,
|
Se incrocia le assi lo colora di rosso e restituisce 1,
|
||||||
altrimenti restituisce 0.
|
altrimenti restituisce 0.
|
||||||
"""
|
"""
|
||||||
vai(random.uniform(-X, X), random.uniform(-Y, Y))
|
vai(random.uniform(-X, X), random.uniform(-Y, Y))
|
||||||
@ -48,24 +52,24 @@ def ago(l):
|
|||||||
turtle.fd(l)
|
turtle.fd(l)
|
||||||
x2 = turtle.xcor()
|
x2 = turtle.xcor()
|
||||||
for x in assi:
|
for x in assi:
|
||||||
if (x1 < x < x2) or (x2 < x < x1):
|
if (x1 < x < x2) or (x2 < x < x1):
|
||||||
turtle.pencolor("red")
|
turtle.pencolor("red")
|
||||||
turtle.bk(l)
|
turtle.bk(l)
|
||||||
turtle.pencolor("black")
|
turtle.pencolor("black")
|
||||||
return 1
|
return 1
|
||||||
else:
|
else:
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
impostazioni()
|
impostazioni()
|
||||||
parquet(T)
|
parquet(T)
|
||||||
p = 0
|
p = 0
|
||||||
for i in range(N):
|
for i in range(N):
|
||||||
p += ago(L)
|
p += ago(L)
|
||||||
try:
|
try:
|
||||||
π = (2*L)/(T*p/N)
|
π = (2 * L) / (T * p / 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