Python :: Aufgabe #3 :: Lösung #9

17 Lösungen Lösungen öffentlich
#3

Lotto - Simulation - 6 aus 49

Anfänger - Python von Gustl - 25.11.2012 um 16:16 Uhr
Schreiben Sie ein Programm, welches 6 Zahlen zwischen 1 und 49 abfrägt. Danach soll das Programm solange 6 Zufallszahlen berechnen bis alle 6 eingegebenen Zahlen übereinstimmen. Natürlich darf eine Zahl nicht zweimal vorkommen.
Dann soll ausgegeben werden nach wie vielen "Spielen" ein 6er erzielt wurde und wie hoch die Chance auf einen 3er, einen 4er und einen 5er war.
#9
vote_ok
von Nachbar (2820 Punkte) - 16.07.2016 um 12:47 Uhr
Quellcode ausblenden Python-Code
# -*- coding: utf-8 -*-

from random import randint

spieler = []
lotto = []
dreier, vierer, fuenfer, versuche, treffer = 0, 0, 0, 0, 0
tipp = 1
aufforderung = "Zahl 1: "

# Ziehung der 6 Zahlen
def ziehung(a = []):
    while len(a) < 6:
        x = randint(1, 49)
        if x not in a:
            a.append(x)
    a.sort()
    return a
    
print "Willkommen zur Lotto-Simulation 6 aus 49. Bitte 6 Zahlen \
tippen: \n"

# Tippabgabe und Abfangen ungültiger Eingaben
while len(spieler) < 6:
   eingabe = input(aufforderung)
   if eingabe > 49 or eingabe < 1:
      print "\nUngültige Eingabe!\n"
   elif eingabe in spieler:
      print "\nDie Zahl", eingabe, "wurde bereits getippt!\n"
   else:
      spieler.append(eingabe)
      tipp = tipp + 1
      aufforderung = "Zahl " + str(tipp) + ": "
spieler.sort()

print "\nDeine Tippabgabe: ", spieler
print "\nBitte warten. Simulation läuft..."

while spieler != lotto:
    lotto = []
    treffer = 0
    versuche = versuche + 1
    lotto = ziehung([])
    # Wahrscheinlichkeit für 3er, 4er und 5er ermitteln        
    for i in lotto:
        if i in spieler:
            treffer = treffer + 1
    if treffer == 3:
        dreier = dreier + 1
    elif treffer == 4:
        vierer = vierer + 1
    elif treffer == 5:
        fuenfer = fuenfer + 1
    lotto.sort()

print ""
print "Du hast nach", versuche, "Versuchen einen 6er erzielt\n\n"
print "*" * 40
print "Chance für einen 3er: ", float(dreier * 100) / versuche, "%"
print "Chance für einen 4er: ", float(vierer) * 100 / versuche, "%"
print "Chance für einen 5er: ", float(fuenfer) * 100 / versuche, "%"

Kommentare:

Für diese Lösung gibt es noch keinen Kommentar

Bitte melden Sie sich an um eine Kommentar zu schreiben.
Kommentar schreiben
2103638

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.