lehrkraefte:blc:informatik:glf4-20:simulation:python-repe-exos

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:glf4-20:simulation:python-repe-exos [2021/04/01 07:34]
Ivo Blöchliger
lehrkraefte:blc:informatik:glf4-20:simulation:python-repe-exos [2021/04/06 09:48] (current)
Ivo Blöchliger [Histogram Wüfelsummen]
Line 57: Line 57:
 === Liste mit n Nullen === === Liste mit n Nullen ===
 Schreiben Sie eine Funktion, die eine Liste mit $n+1$ Nullen erzeugt und zurückgibt. Schreiben Sie eine Funktion, die eine Liste mit $n+1$ Nullen erzeugt und zurückgibt.
 +
 +Siehe auch [[lehrkraefte:blc:informatik:glf4-20:simulation:python-repe#listen|im Cheat-Sheet]]
 <code python> <code python>
 def nullen(n): def nullen(n):
Line 62: Line 64:
     # Liste mit n+1 Nullen füllen     # Liste mit n+1 Nullen füllen
     return liste     return liste
-print(nullen(3))   # Muss [0,0,0,0] ausgeben (Einträge)+print(nullen(3))   # Muss [0,0,0,0] ausgeben (Einträge, damit der Index 3 als letzter noch existiert)
 </code> </code>
  
Line 75: Line 77:
  
 # Liste mit Nullen erzeugen # Liste mit Nullen erzeugen
-# Zufallsversuch durchführen und Einträge entsprechend erhöhen.+# Zufallsversuch 1000 mal durchführen und Einträge der Liste entsprechend erhöhen.
  
 csv = ""     # Zeichenkette für Resultat csv = ""     # Zeichenkette für Resultat
Line 86: Line 88:
 Erzeugen Sie mit der Funktion der Aufgabe darüber eine Liste mit genügend Einträgen, damit jede mögliche Summe einen Platz in der Liste hat. Erzeugen Sie mit der Funktion der Aufgabe darüber eine Liste mit genügend Einträgen, damit jede mögliche Summe einen Platz in der Liste hat.
  
-Bestimmen Sie dann ''versuche'' mal die Summe von ''wuerfel'' Würfeln (mit der Funktion zwei Aufgaben weiter oben).+Bestimmen Sie dann ''versuche'' mal die Summe von Anzahl''wuerfel'' Würfeln (mit der Funktion zwei Aufgaben weiter oben). 
 + 
 +<hidden Lösungsvorschlag> 
 +<code python summe-von-n-wuerfeln.py> 
 +from random import randrange 
 +wuerfel = 10         # Anzahl Würfel 
 +versuche = 100000     # Wie viel mal Würfeln 
 + 
 +def nullen(n): 
 +    liste=[] 
 +    for i in range(n+1): # n+1 mal wiederholen    
 +        liste.append(0)  # Eine Null anfügen 
 +    return liste 
 + 
 +def wuerfelsumme(n): 
 +    summe = 0  # Das ist eine Null 
 +    for i in range(n):  # Diese Variable i hat nichts mit der Variable i unten zu tun 
 +        summe += randrange(1,7) 
 +    return summe 
 + 
 +# Liste zum Zählen der Vorkommnisse 
 +anzahlen = nullen(6*wuerfel) 
 + 
 +# Zufallsversuch 'versuche' mal durchführen und Einträge der Liste entsprechend erhöhen. 
 +for i in range(versuche): 
 +    ergebnis = wuerfelsumme(wuerfel) 
 +    # Dem 'ergebnis' entsprechendes Element in der Liste 'anzahlen' um 1 erhöhen 
 +    anzahlen[ergebnis] += 1 
 + 
 +print("%d Versuche mit %d Würfeln" % (versuche, wuerfel)) 
 +print(anzahlen) 
 + 
 +csv = "Summe;Anzahl\n"     # Zeichenkette für Resultat 
 +for summe in range(wuerfel, 6*wuerfel+1):  # Alle möglichen Summen 
 +    csv += "%d;%d\n" % (summe, anzahlen[summe]) 
 + 
 +print(csv) 
 +datei = open("histogram.csv", "w"   # Datei überschreiben (schlägt fehl, wenn in Excel geöffnet) 
 +datei.write(csv)                           # Datei in Datei schreiben 
 +datei.close()                              # Datei schliessen 
 +</code> 
 +</hidden>
  
 === Histogramm in Excel zeichnen === === Histogramm in Excel zeichnen ===
-Laden Sie die CSV-Datei in Excel, um das Histogram zu zeichnen.+Laden Sie die CSV-Datei in Excel, um das Histogram zu zeichnen. D.h. eine Grafik, die anzeigt, wie viel mal welche Würfelsumme gewürfelt wurde.
  
 ====== Expert-Aufgaben ====== ====== Expert-Aufgaben ======
  • lehrkraefte/blc/informatik/glf4-20/simulation/python-repe-exos.1617255281.txt.gz
  • Last modified: 2021/04/01 07:34
  • by Ivo Blöchliger