我正在努力完成这套教程。在3.2a节中,当循环下面的代码时,应该一直循环到用户输入目标号码(7),然后显示一条祝贺消息,不管输入了哪个数字,Python要么给出正确的答案,要么给出错误的答案,甚至7有时也会标记错误的答案。我知道还有其他方法来执行这类任务,但我想让教程中的代码开始工作。
targetNumber = 7
guess = input("Guess a number between 1 and 10 ")
while guess != targetNumber:
print("Wrong, try again ")
guess = input("Guess a number between 1 and 10 ")
print("Congratulations - that's right!")发布于 2016-02-08 16:56:53
在进行比较之前,应该将目标数字转换为字符串。此外,您应该从循环中排除祝贺消息。我建议:
targetNumber = str(7)
guess = input("Guess a number between 1 and 10 ")
while guess != targetNumber:
print("Wrong, try again ")
guess = input("Guess a number between 1 and 10 ")
print("Congratulations - that's right!")细节是输入返回一个字符串,如果您将一个字符串与一个整数进行比较,它将始终返回false。
发布于 2016-02-08 16:55:19
Python的输入函数(或者Python2.x中的raw_input )返回用户输入的字符串。另一方面,targetNumber是一个整数。在Python解释器中,尝试:
>>> 7 == "7"
False您需要先将用户的输入转换为整数。
try:
guess = int(input("Please enter a number: "))
except ValueError:
print("That is not a valid number!")https://stackoverflow.com/questions/35274893
复制相似问题