Detta skapar en PDF som du sedan kan skriva ut. Du kan även spara ner PDFn och skriva ut senare.
Titel på utskriften?
Tack för ditt bidrag
Om vi kan använda det så lägger vi upp det på sidan. Nedan en länk till ditt bidrag om du vill spara det.
Spara som ...
Du sparar ditt skript under detta namn och kan sedan hämta tillbaka det med samma namn.
Läs in
Läs in ett tidigare sparat skript. Obs att du enbart kan läsa in skript i den webbläsare där du sparade skriptet. Vill du kunna läsa in och spara skript oberoende av webbläsare, så behöver du skaffa ett login (enkelt och gratis).
Skicka in bidrag
Föreslå rubrik
Beskriv vad din kod gör
Skapa kort länk
Använd en kort URL för att skicka länk till koden via SMS eller epost. När mottagaren klickar på länken, så öppnas denna webbsida, med din kod och din text. Länken rensas bort automatiskt om den inte används.
Rubrik (frivilligt)
Beskrivning (frivilligt)
Länk (kopiera hela)
Räkna ut PI
Räkna ut pi med python
Det finns många olika algoritmer för att räkna ut pi. Typiskt är det någon slags summaformel vi behöver skapa kod för. Termerna följer ofta ett mönster och vi kan därför producera dessa termer och summera dem.
Leibniz formel
Leibniz formel ser ut såhär. Ju fler termer vi summerar, desto mer exakt resultat.
Nämnaren är 1 (tänk att siffran 1 är samma sak som 1/1) från början och ser ut att öka med 2 för varje term (1, 3, 5, 7, ...). Vidare pendlar termens tecken mellan plus och minus varannan gång, inledningsvis är tecknet plus för första termen. Så, vi kan sedan ackumulera alla termer i en variabel och vi kör ett antal iterationer, dvs så många termer vi tror behövs för att få en viss noggrannhet. Det sista vi gör är att multiplicera summan med 4.
iter = 5000
pi = 0
n = 1
t = 1
for i in range(iter):
pi += (1/n)*t
n += 2
t = -t
pi *=4
print(pi)
iter = 5000
pi = 0
n = 1
t = 1
for i in range(iter):
pi += (1/n)*t
n += 2
t = -t
pi *=4
print(pi)
iter = 50000
t = 2
n = 1
pi = 2
for i in range(iter):
if(i%2):
t+=2
if(not i%2):
n+=2
pi*=t/n
pi *=2
print(pi)
iter = 50000
t = 2
n = 1
pi = 2
for i in range(iter):
if(i%2):
t+=2
if(not i%2):
n+=2
pi*=t/n
pi *=2
print(pi)
Monte Carlo metoden
import random
def estimate_pi(num_iter):
inside_circle = 0
for _ in range(num_iter):
x = random.random()
y = random.random()
if x * x + y * y <= 1:
inside_circle += 1
return (inside_circle / num_iter) * 4
# Exempelanvändning
iter = 50000
print(f"Uppskattat Pi: {estimate_pi(iter)}")
import random
def estimate_pi(num_iter):
inside_circle = 0
for _ in range(num_iter):
x = random.random()
y = random.random()
if x * x + y * y <= 1:
inside_circle += 1
return (inside_circle / num_iter) * 4
# Exempelanvändning
iter = 50000
print(f"Uppskattat Pi: {estimate_pi(iter)}")