【发布时间】:2014-11-04 20:03:10
【问题描述】:
我正在尝试用 python 做一个猜谜游戏。
from random import randint
print "\nI'm thinking of a number, you have to guess what it is.\n"
num = randint(1,100)
guess = 0
while guess != num:
guess = raw_input("Guess the number \n")
if guess < num:
print "Guess higher next time \n"
elif guess > num:
print "Guess lower next time \n"
elif guess == num:
print "That's correct \n"
问题是无论我输入什么数字,我每次都会得到“猜一个较低的数字”。那么有什么问题呢?
【问题讨论】:
-
您必须将
guess转换为int:guess = int(raw_input("Guess the number n"))。否则,您总是将字符串与 int 进行比较,并且字符串将始终评估为“大于”。 -
至于为什么一个字符串大于任何数字,看这里stackoverflow.com/a/3270689/3557327
-
附带说明,这是 Python 3.x 中许多更好的事情之一。如果你把这件事搞砸了,而不是以对你作为代码的作者/调试者毫无意义的方式取得成功,它会给你一个很好的异常,告诉你到底哪里出了问题。
标签: python python-2.7