Seite 2 von 2

Re: Zahlen Rate Spiel

Verfasst: Dienstag 23. November 2010, 15:36
von kRew
So, ich bin zur finalen Lösung gekommen.

Code: Alles auswählen

import random
b=random.randint(1, 9)
gz = int(b)
print ("Hallo und herzlich Willkommen bei kRew's Zahlenspiel!")
print ("In dem Spiel geht es darum, eine zufällig generierte Zahl zu erraten")

def main():
    tipp=input("Geben sie eine Zahl zwischen 1-9 ein :")
    t = int(tipp)

    if t == gz:
        print ("Sie haben die richtige Zahl gefunden")
        input ("Drücken sie <any key> um das Programm zu schließen")
    elif t < 1:
        print("Die von ihnen eigebene Zahl ist unter 1")
        main()
    elif t < gz:
        print ("Ihre eingegebene Zahl ist zu klein")
        print ("Versuchen sie es nochmal")
        main()
    elif t > 9:
        print ("Die von ihnen eigebene Zahl ist über 9")
        print ("Versuchen sie es nochmal")
        main()
    elif t > gz:
        print ("Ihre eingegebene Zahl ist zu groß")
        print ("Versuchen sie es nochmal")
        main()
main()  
funktioniert alles wunderbar :)

Re: Zahlen Rate Spiel

Verfasst: Dienstag 23. November 2010, 15:50
von Hyperion
Hui... ungewollte Rekursion :twisted:

Btw: Es gibt spezielle Python-Code-Tags!

Wozu brauchst Du hier die main()-Funktion, wo Du doch noch Code auf Modulebene hast?

Dies hier...

Code: Alles auswählen

b=random.randint(1, 9)
gz = int(b)
ist wieder total überflüssig!

Code: Alles auswählen

In [16]: value = random.randint(1, 9)

In [17]: type(value)
Out[17]: <type 'int'>
Das Leerzeichen zwischen einer Funktion und der öffnenden Klammer solltest Du doch weglassen (bei print ist es immer noch so)

Code: Alles auswählen

    tipp=input("Geben sie eine Zahl zwischen 1-9 ein :")
    t = int(tipp)
"tipp" ist ein guter Name, "t" weniger. Wieso nicht gleich so:

Code: Alles auswählen

    tipp = int(input("Geben sie eine Zahl zwischen 1-9 ein :"))
(man beachte hier die Leerzeichen um den Zuweisungsoperator "="; liest sich schöner)

Du willst eine while-Schleife anstelle von main() (bzw. innerhalb der main-Funktion) benutzen.

Code: Alles auswählen

while True:
    # hier die Eingabe des Tipps und die Vergleiche
    # falls man richtig geraten hat:
    if irgendwas:
        break