lehrkraefte:blc:informatik:ffprg1-2020:zufallszahlen

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
lehrkraefte:blc:informatik:ffprg1-2020:zufallszahlen [2020/02/03 20:57]
Ivo Blöchliger
lehrkraefte:blc:informatik:ffprg1-2020:zufallszahlen [2022/05/12 13:34] (current)
Ivo Blöchliger [Zufallszahlen]
Line 1: Line 1:
 ====== Zufallszahlen ====== ====== Zufallszahlen ======
-Für Spiele und Simulationen sind Zufallszahlen äusserst nützlich. Auch für kryptographische Anwendungen werden Zufallszahlen gebraucht. Dafür sind die Zufallszahlen von Python aber **nicht geeignet**. Und sowieso: Programmieren Sie nie selbst Krypto (es sei denn, sie machen seit 10 Jahren nichts anderes, als Kryptographie und Computerinnereien zu studieren).+Für Spiele und Simulationen sind Zufallszahlen äusserst nützlich. Auch für kryptographische Anwendungen werden Zufallszahlen gebraucht. Dafür sind die Zufallszahlen von Python aber **nicht geeignet**. Und sowieso: Programmieren Sie nie selbst Krypto (es sei denn, Sie machen seit 10 Jahren nichts anderes, als Kryptographie und Computerinnereien zu studieren).
  
  
Line 10: Line 10:
     print(random.random())     print(random.random())
  
 +# Ich bevorzuge random.randrange weil es gleich wie range funktioniert
 +print("Ints, uniform von 0 bis und mit 3")
 +for i in range(10):
 +    print(random.randrange(4))
 +
 +# Ich rate von random.randint ab und empfehle random.randrange 
 print("Ints, uniform von 1 bis und mit 6") print("Ints, uniform von 1 bis und mit 6")
 for i in range(10): for i in range(10):
     print(random.randint(1,6))     print(random.randint(1,6))
 +
 </code> </code>
 +''random.randrange(a,b,s)'' wählt ein zufälliges Element aus ''range(a,b,s)'' aus.
 +
 Detaillierte Übersicht: https://machinelearningmastery.com/how-to-generate-random-numbers-in-python/ Detaillierte Übersicht: https://machinelearningmastery.com/how-to-generate-random-numbers-in-python/
  
Line 67: Line 76:
         n+=1         n+=1
 print("Durchschnitt exakt %d/%d ~ %f" % (s,n,s/n)) print("Durchschnitt exakt %d/%d ~ %f" % (s,n,s/n))
-</hidden>+</code>
  
 Allgemein exakt. Um die Mathematik zu verstehen, denken Sie sich für n=2 Würfel ein 6x6 Raster und markieren Sie jene Felder, die zu einem gegebenen Maximum $m$ führen. Deren Anzahl kann als Differenz zweier Quadrate (bzw. Hyperwürfel für $n>2$) berechnet werden. Allgemein exakt. Um die Mathematik zu verstehen, denken Sie sich für n=2 Würfel ein 6x6 Raster und markieren Sie jene Felder, die zu einem gegebenen Maximum $m$ führen. Deren Anzahl kann als Differenz zweier Quadrate (bzw. Hyperwürfel für $n>2$) berechnet werden.
Line 91: Line 100:
 print("Durchschnitt %f, Schätzung für pi ~ %f" % (s/n, s/n*4)) print("Durchschnitt %f, Schätzung für pi ~ %f" % (s/n, s/n*4))
 </code> </code>
 +</hidden>
 +
  • lehrkraefte/blc/informatik/ffprg1-2020/zufallszahlen.1580759875.txt.gz
  • Last modified: 2020/02/03 20:57
  • by Ivo Blöchliger