This is an old revision of the document!
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).
- zufall.py
import random print("Floats, uniform von 0.0 bis ohne 1.0") for i in range(10): print(random.random()) print("Ints, uniform von 1 bis und mit 6") for i in range(10): print(random.randint(1,6))
Detaillierte Übersicht: https://machinelearningmastery.com/how-to-generate-random-numbers-in-python/
Aufgaben
- Generieren Sie 10 Zufallszahlen (floats) zwischen 10.0 (inklusive) und 20.0 (exklusive).
- Welchen Wert erhält man im Durchschnitt, wenn man mit zwei Würfeln auf einmal würfelt und sich jeweils den grösseren der beiden Werte notiert?
- Challenge: Können Sie den Wert exakt berechnen? Wie sieht es mit $3$ und mehr Würfeln aus? Wie mit $n$?
- Generieren Sie $n=10000$ mal einen zufälligen Punkt im Einheitsquadrat $[0,1] \times [0,1]$. Wie viele davon liegen im Einheitskreis (d.h. im Kreis mit Radius 1 um den Ursprung)? Wie viele müssten es sein? Berechnen Sie daraus eine Schätzung für $\pi$.