Problem läuft ein sehr einfaches Python-Programm
-
19-09-2019 - |
Frage
Warum ist mein Programm gibt mir einen Fehler hier?
import random
TheNumber = random.randrange(1,200,1)
NotGuessed = True
Tries = 0
GuessedNumber = int(input("Take a guess at the magic number!: "))
while NotGuessed == True:
if GuessedNumber < TheNumber:
print("Your guess is a bit too low.")
Tries = Tries + 1
GuessedNumber = int(input("Take another guess at the magic number!: "))
if GuessedNumber > TheNumber:
print("Your guess is a bit too high!")
Tries = Tries + 1
GuessedNumber = int(input("Take another guess at the magic number!: "))
if GuessedNumber == TheNumber:
print("You've guess the number, and it only took you " + string(Tries) + "!")
Der Fehler ist in der letzten Zeile. Was kann ich tun?
Edit:
Auch, warum kann; t Ich benutze Tries ++ hier in Python? Ist da nicht ein Autoinkrement Code?
Edit 2: Fehler ist:
Traceback (most recent call last):
File "C:/Users/Sergio/Desktop/GuessingGame.py", line 21, in <module>
print("You've guess the number, and it only took you " + string(Tries) + "!")
NameError: name 'string' is not defined
Lösung
Es ist str
, nicht string
. aber Ihre Endlosschleife ist ein größeres Problem. Autoinkrement wird wie folgt geschrieben:
Tries += 1
Allgemeine Anmerkung: Sie Ihren Code leicht verbessern könnte:
the_number = random.randrange(1,200,1)
tries = 1
guessed_number = int(input("Take a guess at the magic number!: "))
while True:
if guessed_number < the_number:
print("Your guess is a bit too low.")
if guessed_number > the_number:
print("Your guess is a bit too high!")
if guessed_number == the_number:
break
else:
guessed_number = int(input("Take another guess at the magic number!: "))
tries += 1
print("You've guessed the number, and it only took you %d tries!" % tries)
Andere Tipps
In Ihrem letzten Zeile ersetzen string
mit str
-., Dass die Pflege der Fehler Python nehmen sollte beschwert sich über zumindest
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow