Python :: Aufgabe #194
3 Lösungen

Durchnummerierung aller möglichen geordneten Ziehungsergebnisse bei 6 aus 49
Anfänger - Python
von hollst
- 06.09.2018 um 10:28 Uhr
Beim Lotto 6 aus 49 gibt es bekanntlich 13.983.816 mögliche (geordnete) Ziehungsergebnisse (49 über 6).
Schreibe ein Programm, das jeder dieser Möglichkeiten eine natürliche Zahl zuordnet, also
1 2 3 4 5 6 -> 1
1 2 3 4 5 7 -> 2
...
...
44 45 46 47 48 49 -> 13.983.816
Viel Spaß!
Schreibe ein Programm, das jeder dieser Möglichkeiten eine natürliche Zahl zuordnet, also
1 2 3 4 5 6 -> 1
1 2 3 4 5 7 -> 2
...
...
44 45 46 47 48 49 -> 13.983.816
Viel Spaß!
Lösungen:

#Python3.7 from itertools import combinations print("Bitte ein kleinen Moment Geduld...!") #erstmal fix alle Varianten ab in eine Liste! lottomoeglich = list(combinations([n for n in range(1,50)],6)) # und jetzt die Ausgabe ... zaehler=1 for i in lottomoeglich: print(i[0],i[1],i[2],i[3],i[4],i[5],"->",zaehler) zaehler += 1

from itertools import combinations zahlen = list(combinations(range(1, 50), 6)) for i in range(len(zahlen)): print(zahlen[i], '->', zahlen.index(zahlen[i])+1)

""" goal: create a mapping function from an array of length 6 to a integer. """ def mapping_lotto(ziehung=[1,2,3,4,5,6]): if len(ziehung) != 6: exit('not enough numbers entered') integer_value = '' for numbers in ziehung: numbers = str(numbers) if numbers > 9 else '0' + str(numbers) integer_value += numbers return int(integer_value) print(mapping_lotto([46,22,12,13,55,1]))