Vorbereitung:
- Programmieren Sie auf https://webtigerpython.ethz.ch/
- oder mit VSCode (Open Folder, dann neue Python-Datei anlegen)
Münzen werfen mit Python
Als Konvention soll «Kopf» mit 0 und «Zahl» mit 1 dargestellt werden.
Experiment 50 Münzwürfe
from random import randrange n = 50 summe = 0 for i in range(n): wurf = randrange(2) summe = summe + wurf print(wurf, end="") print(f"\n{summe} aus {n}")
Histogramm
from random import randrange n = 20 wiederholungen = 1000 hist = [0 for i in range(n+1)] for w in range(wiederholungen): summe = 0 for i in range(n): wurf = randrange(2) summe += wurf hist[summe] += 1 print(hist)
Ausgabe mit Tabulatoren
Die so produzierte Ausgabe sollte sich in eine Tabellenkalkulation zur Anzeige einfügen lassen
Fügen Sie folgende Funktion nach den Defintionen von n
und wiederholungen
ein:
def tabulated(h): for i in range(n+1): print(f"{i}\t{h[i]}")
und rufen Sie diese Funktion am Ende des Programms mit tabulated(hist)
auf und kopieren Sie die Werte in ein Tabellenkalkulationsprogramm und erstellen Sie damit ein Balkendiagramm.
ASCII-Art Ausgabe
def asciiart(h, height=15): nonzero = [i for i in range(len(h)) if h[i]>0] first = min(nonzero) last = max(nonzero) maxh = max(h) for y in range(height): for x in range(first, last): if h[x]/maxh>(height-y-0.5)/height: print("|##", end="") else: print(" ", end="") print() for x in range(first, last): print("%3d" % x, end="") print()