Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. 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 ===== <code python> 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}") </code> ===== Histogramm ===== <code python> 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) </code> ==== 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: <code python> def tabulated(h): for i in range(n+1): print(f"{i}\t{h[i]}") </code> 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 ==== <code python> 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() </code> lehrkraefte/blc/math-2021hw/muenzwuerfe-mit-python.txt Last modified: 2024/10/24 05:39by Ivo Blöchliger