in etwa mit diesen Funktionen
6x die Aufforderung eine Zahl einzugeben
Prüfung, ob die Zahl im geforderten Zahlbereich liegt
falls nein: Hinweis und erneute Eingabeaufforderung falls ja: Zahl in eine Liste schreiben
Prüfung, ob eine Zahl doppelt eingegeben wurde
falls ja: Hinweis und erneute Eingabeaufforderung falls nein: Zahl in eine Liste schreiben
6 Zufallszahlen erzeugen
Prüfung, ob eine Zahl mehrfach vorkommt
falls ja: neue Zufallszahl erzeugen
falls nein: Zufallszahl in eine Liste schreiben
Listen sortiert ausgeben
Die Übereinstimmungen zwischen eingegebenen Zahlen und Zufallszahlen ("Richtigen") ermitteln und ausgeben
Die Anzahl der Übereinstimmungen zwischen eingegebenen Zahlen und Zufallszahlen ("Richtigen") ermitteln und ausgeben
Abfrage, ob neu gespielt (das ganze Programm wiederholt werden) soll
Falls ja: neuer Programmdurchlauf Falls nein: Programmabbruch
Freue mich auf Antwort
Wie kann ein Lottospiel programmieren
- __blackjack__
- User
- Beiträge: 14078
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@Sweantix: Hinweis zum Zufallszahlen erzeugen: Das ist in Deiner Beschreibung komplizierter als nötig, weil es in der Python-Standardbibliothek bereits eine Funktion gibt um k Elemente aus einer gegebenen Population ohne Wiederholungen zu wählen.
Selbst wenn es diese Funktion nicht gäbe, würde man sich hier eher an einer realen Lottoziehung orientieren, bei der ja nicht immer wieder Bälle gezogen werden und mit vorher gezogenen Zahlen verglichen werden, sondern es werden die vorhandenen Zahlen ordentlich durchgemischt, und dann die ersten 6 davon genommen. Für das Mischen gäbe es auch schon eine fertige Funktion, und um von den gemischten Zahlen dann die ersten 6 zu nehmen gibt es Syntax.
Für das ermitteln der Treffer/Übereinstimmungen der Hinweis, dass man das mit Mengen lösen kann. Python hat dafür einen eingebauten Datentyp.
Grundgerüst:
Da wo die "..." stehen kommt das Hauptprogramm hin. Es könnte Sinn machen Teilaufgaben in eigenen Funktionen zu lösen, damit das übersichtlich bleibt, und man Teillösungen getrennt testen kann.
Selbst wenn es diese Funktion nicht gäbe, würde man sich hier eher an einer realen Lottoziehung orientieren, bei der ja nicht immer wieder Bälle gezogen werden und mit vorher gezogenen Zahlen verglichen werden, sondern es werden die vorhandenen Zahlen ordentlich durchgemischt, und dann die ersten 6 davon genommen. Für das Mischen gäbe es auch schon eine fertige Funktion, und um von den gemischten Zahlen dann die ersten 6 zu nehmen gibt es Syntax.
Für das ermitteln der Treffer/Übereinstimmungen der Hinweis, dass man das mit Mengen lösen kann. Python hat dafür einen eingebauten Datentyp.
Grundgerüst:
Code: Alles auswählen
#!/usr/bin/env python3
import random
LOWEST_NUMBER = 1
HIGHEST_NUMBER = 49
GUESS_COUNT = 6
assert GUESS_COUNT <= HIGHEST_NUMBER - LOWEST_NUMBER + 1
def main():
...
if __name__ == "__main__":
main()
“Vir, intelligence has nothing to do with politics!” — Londo Mollari