Lotterie

Code-Stücke können hier veröffentlicht werden.
Antworten
frabron
User
Beiträge: 306
Registriert: Dienstag 31. März 2009, 14:36

Hi,

weil mein Chef Urlaub hat :twisted: und ich schon immer das optparse Modul ausprobieren wollte habe ich heute vormittag ein Lotterieskript geschrieben -> Code. Es kann automatisch 1 - 12 Kästchen ausfüllen und die Werte auf dem Schirm ausgeben. Ausserdem kann man die Werte auch für die spätere Verwendung in einer Datei speichern:

Code: Alles auswählen

lotto.py --boxes=12 --generate --file=numbers.txt

Your generated numbers:
-----------------------
29, 31, 44, 45, 46, 47
01, 12, 41, 42, 43, 44
06, 16, 17, 21, 34, 43
08, 29, 31, 33, 41, 47

Writing to numbers.txt
----------------------
Der interne Lottoschein kann auch Werte mit den gezogenen Werten vergleichen, wahlweise aus einer Datei, oder interaktiv (Super für Leute wie mich, die lieber Nummern tippen als manuell auf Papier filtern :D):

Code: Alles auswählen

lotto.py --boxes=4 --compare --lottery="1 2 3 4 5 6"

Comparing winning numbers with ticket numbers
---------------------------------------------
Lottery numbers: 01, 02, 03, 04, 05, 06
Insert numbers for box 1: 5 6 7 8 9 10
Insert numbers for box 2: 1 5 9 7 5 3
Insert numbers for box 3: 9 7 5 12 45 36
Insert numbers for box 4: 10 20 30 40 15 25

Hits
----
05, 06
01, 03, 05, 05
05
No numbers


lotto.py --boxes=4 --compare --lottery="1 2 3 4 5 6" --file=numbers.txt

Comparing winning numbers with ticket numbers
---------------------------------------------
Lottery numbers: 01, 02, 03, 04, 05, 06

Hits
----
No numbers
04
02
No numbers
Ausserdem gibt es noch den Hoffnungslos-Modus :shock:, der aus einer beliebigen Anzahl an Versuchen alle Ziehungen mit mehr als vier Richtigen ausgibt, wahlweise mit Zufallszahlen oder mit eigenen Zahlen. Vorsicht mit großen Zahlen, da kann auch schon mal der Arbeitsspeicher vollaufen:

Code: Alles auswählen

lotto.py --probe-chances=10000

Drawings with more than 4 straights
-----------------------------------


lotto.py --probe-chances=10000 --lottery="1 2 3 4 5 6"

Drawings with more than 4 straights
-----------------------------------
01, 03, 04, 05, 06
TODO:
main() entrümpeln
Die Wahrscheinlickeiten für die Ziehung manipulieren (Gerade Zahlen bevorzugen, Zahlen über 12, Mondphase, whatever ...)

Viel Spass beim Ausprobieren :)

Frank

Edit:
Geschrieben für Python >= 2.6 && < 3
Antworten