ich habe ein kleines Programm geschrieben, dass Lotto 6 aus 49 ohne Superzahl simuliert:
Code: Alles auswählen
import random
Schluessel = []
Schluessel[0:48] = range(1,50)
Werte = []
for i in range(50):
Werte.append(0)
Dictionary_Lottozahlen = dict(zip(Schluessel, Werte))
gezogene_Kugeln = 0
print("Bitte geben Sie die Anzahl der Lottoziehungen ein:")
eingabe = int(input())
print()
for x in range(eingabe):
lottozahlen = []
lottozahlen[0:48] = range(1,50)
zug = 0
ziehung = []
while zug < 6:
zug += 1
# Ziehung der Zahl
zahl = random.choice(lottozahlen)
ziehung.append(zahl)
lottozahlen.remove(zahl)
Dictionary_Lottozahlen[zahl] += 1
gezogene_Kugeln += 1
# Ausgabe in Tabelle
print(f"{'Zahl':>4}{'Gezogen':>9}{'rel. Häufigk.':>15}")
for x in Dictionary_Lottozahlen:
print(f"{x:4d}{Dictionary_Lottozahlen[x]:>9}{Dictionary_Lottozahlen[x] / gezogene_Kugeln * 100:15f}")
print()
print("Insgesamt gezogenen Kugeln:")
print(gezogene_Kugeln)
1. Ist es möglich, das Dictionary "Dictionary_Lottozahlen" direkter und gleich mit allen Werten = 0 zu erzeugen? Also gibt es einen Befehl, der sagt, alle Values im erzeugten Dict sind gleich 0?
2. Unabhängig davon, ob das im vorliegenden Fall sinnvoll ist, hatte Ich eigentlich vor, die einzelne Ziehung als Liste auszugeben, um dann mit dieser Liste die Werte im Dictionary zu beeinflussen. Also wenn ich mit der while-Schleife eine Liste ziehung = [2, 5, 7, 34, 6, 45] erzeuge, dann möchte ich, dass die Werte im Dictionary für die Keys 2, 5, 6, 7, 34, 45 sich um jeweils +1 erhöhen? Das sollte doch auch irgendwie machbar sein.
Danke für die Auskunft!