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:37]
Ivo Blöchliger [Histogram Wüfelsummen]
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 87: Line 89:
  
 Bestimmen Sie dann ''versuche'' mal die Summe von Anzahl''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 ===
  • lehrkraefte/blc/informatik/glf4-20/simulation/python-repe-exos.1617255456.txt.gz
  • Last modified: 2021/04/01 07:37
  • by Ivo Blöchliger