summa = 0
TOISTOT = 10
keskiarvo=[]
laskuri = []
for i in range(TOISTOT):
laskuri.append(i)
print ("Kymmenen nopanheittoa:")
for i in range(0, TOISTOT):
luku = random.randint(1, 6)
print(luku)
summa = summa+luku
#print (summa)
ka = (float(summa)/(i+1))
keskiarvo.append(ka)
for i in range (len(keskiarvo)):
print(keskiarvo[i])
Neliöjuuren arvon haarukointi
a = 4
dx = 1.0
desimaalit = 6
tarkkuus = 10**(-desimaalit)
x = 1.0
x2 = 0.0
while (x-x2) > tarkkuus:
x = x2 # palautetaan edellinen arvo kokeiltavaksi
while x**2 < a:
x2 = x # muistiin arvo
x = x+dx # Seuraava kokeiluaskel
dx = 0.1*dx # Pienennetään askelta
print ("x on ",round(x,desimaalit))
MONTE-CARLO-menetelmä piin arvon laskemiseen
import math
import random
class piste(object):
def __init__(self,x,y):
self.y = y
self.x = x
def dist(self):
return float(math.sqrt(self.x**2+self.y**2))
PISTEET = 1000000
pisteet=[]
for i in range(PISTEET):
pisteet.append(piste(random.random(),random.random()))
lkm = 0
for piste in pisteet:
if piste.dist() < 1:
#print(piste.x,",",piste.y)
#print("d = ",piste.dist())
lkm = lkm +1
print(lkm,"/",PISTEET, " = ",lkm/PISTEET)
print("Piin arvo on ",4*lkm/PISTEET)
print("Eroa on ", round(100*(math.pi - 4*lkm/PISTEET)/math.pi,4), "%")