Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| lehrkraefte:blc:math-2021hw:muenzwuerfe-mit-python [2024/10/23 08:21] – created Ivo Blöchliger | lehrkraefte:blc:math-2021hw:muenzwuerfe-mit-python [2024/10/24 05:39] (current) – [Experiment 50 Münzwürfe] Ivo Blöchliger | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | Vorbereitung: | ||
| + | |||
| + | * Programmieren Sie auf https:// | ||
| + | * 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" | ||
| + | </ | ||
| + | |||
| + | ===== 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) | ||
| + | </ | ||
| + | |||
| + | ==== 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 '' | ||
| + | <code python> | ||
| + | def tabulated(h): | ||
| + | for i in range(n+1): | ||
| + | print(f" | ||
| + | </ | ||
| + | und rufen Sie diese Funktion am Ende des Programms mit '' | ||
| + | |||
| + | ==== 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, | ||
| + | if h[x]/ | ||
| + | print(" | ||
| + | else: | ||
| + | print(" | ||
| + | print() | ||
| + | for x in range(first, | ||
| + | print(" | ||
| + | print() | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||