2016-04-18 11 views
0

Ich bin ein sehr neuer Programmierer und ich lutsche. Ich habe versucht, ein Zahlen-Ratespiel zu machen, aber ich hatte ein Problem mit dem "Zu hohem, zu niedrigem Teil". Meine IDE (PyCharm) sagte immer syntax error traceback line 18. Ich habe diese Linie weiter optimiert, aber ich bin geschlagen. Hier ist der Code.Nummer Guessing-Programm. Zu hoch zu niedrig Problem

Vielen Dank im Voraus.

import random 

print("Guess a number between 1 and 100. ") 

randomNum = random.randint(1, 100) 
found = False 

while not found: 
    print("Remember, you can only guess between the numbers 1-100!") 

userEst = int(input("Guess here:")) 
    if userEst == randomNum: 
    print("You guessed right!!!")   
    found=True 

if userEst > randomNum: 
    print("Too high!") 

if userEst < randomNum: 
    print("Too low!") 
+0

Sie müssen Eingang umwandeln mit int (Eingabe ("Raten Sie hier:")). Standardmäßig ist der Eingabedatentyp string – Ashish

+0

Oh, das ist es !!!! Vielen Dank!!! Danke allen, die geholfen haben! – Wes

Antwort

0

Sieht aus, als ob Sie einen dieser lästigen Einrückungsfehler haben. Python wird wählerisch.

if userEst == randomNum: 
     print("You guessed right!!!") 
     found=True 

sollte

sein
if userEst == randomNum: 
    print("You guessed right!!!") 
    found=True 
+0

Ok danke. Ich sollte kleine Fehler so beobachten! – Wes

+0

Das passiert den Besten von uns. Sobald Sie bestätigen können, dass dies das Problem behebt, könnten Sie, wenn Sie auf das kleine Häkchen dieser Antwort klicken könnten, es akzeptieren. –

+0

Ich bin immer noch verwirrt, warum mein Programm sagt "Traceback (letzten Anruf zuletzt): Datei" C:/Benutzer/** myinfo:) ** ", Zeile 15, in wenn userEst> randomNum: TypeError: nicht sortierbare Typen: str()> int() " – Wes

1

Beachten Sie, dass in in Python, die Vertiefung von großer Bedeutung ist. Jeder Codeblock hat seine Einrückung Lesen Sie mehr unter: link. So müssen Sie Ihren Code ändern:

import random 

print("Guess a number between 1 and 100. ") 

randomNum = random.randint(1, 100) 
found = False 

while not found: 
    print("Remember, you can only guess between the numbers 1-100!") 

    userEst = input("Guess here:") 
    if userEst == randomNum: 
     print("You guessed right!!!") 
     found=True 
    if userEst > randomNum: 
     print("Too high!") 

    if userEst < randomNum: 
     print("Too low!") 

By the way, Sie nicht saugen.

Viel Glück.

+0

Vielen Dank für Ihre Unterstützung! Ich hoffe das funktioniert! – Wes

Verwandte Themen