Eine Lottoziehung simulieren
Zielsetzung
Beim Lotto werden die 6 Kugeln mit Zahlen aus dem Bereich 1..49 der Reihe nach mit einem Zufallsgerät ermittelt.
Ziel ist es, diesen Ziehungsvorgang zu simulieren und die gezogenen Zahlen schrittweise in eine Liste aufzunehmen
Als Vorbereitung betrachten wir zunächst das Hinzufügen von Elementen in einer Liste.
Elemente in eine Liste hinzufügen
Der folgende Python-Dialog zeigt, wie man eine Liste zur Verwaltung der Zahlen eines Tipps schrittweise aufbauen kann.
>>> liste = [] >>> liste [] >>> liste = liste + [12] >>> liste [12] >>> liste = liste + [7] >>> liste [12, 7] >>> liste = [15] + liste >>> liste ... >>> liste = liste + [42, 30] >>> liste ... >>> liste = [12] + liste >>> liste ...
Aufgabe 1
Analysiere den gezeigten Python-Dialog. Stelle Vermutungen auf, was jeweils an Stelle der drei Punkte steht. Überprüfe deine Vermutung.
Eine Ziehung automatisiert erzeugen
Ziel ist es, eine Ziehung der Lottozahlen mit Hilfe des Zufallsgenerators von Python zu simulieren. Hier ein erster Vorschlag:
from random import * # Verarbeitung ziehung = [] for i in range(6): zahl = randint(1, 49) ziehung = ziehung + [zahl] # Ausgabe print(ziehung)
Aufgabe 2
(a) Analysiere das Programm und erkläre die einzelnen Anweisungen.
(b) Teste das Programm mehrfach. Welche Schwierigkeit tritt hier auf?
(c) Kannst du die Schwierigkeit beheben?
Aufgabe 3
Man kann einen Tipp auch mit einer Liste von 49 Wahrheitswerten darstellen.
(a) Teste das folgende Programm. Erkläre, wie hier die Liste zur Verwaltung der Wahrheitswerte aufgebaut wird.
from random import * # Verarbeitung ziehung = [] for i in range(49): ziehung = ziehung + [False] for i in range(6): zahl = randint(1, 49) ziehung[zahl-1] = True # Ausgabe for i in range(49): if ziehung[i] == True: print(i+1)
(b) Auch hier ist noch etwas nicht in Ordnung. Kannst du die Schwierigkeit durch Ergänzungen im Programm beheben?
Quellen
Foto: Ziehungsgeräte der Ziehung der Lottozahlen - Urheber: Emkaer - Lizenz: CreativeCommons by-sa-3.0