Python :: Aufgabe #194

3 Lösungen Lösungen öffentlich

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ß!

Lösungen:

vote_ok
von tebarius (470 Punkte) - 11.09.2018 um 16:13 Uhr
Quellcode ausblenden Python-Code
#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
2x
vote_ok
von jigga (4260 Punkte) - 28.09.2018 um 08:54 Uhr
Quellcode ausblenden Python-Code
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)
2 Kommentare
1x
vote_ok
von ZRX88 (2770 Punkte) - 30.10.2018 um 11:54 Uhr
Quellcode ausblenden Python-Code
"""
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]))
1809087

Du scheinst einen AdBlocker zu nutzen. Ich würde mich freuen, wenn du ihn auf dieser Seite deaktivierst und dich davon überzeugst, dass die Werbung hier nicht störend ist.