import random
number = 50
guess = raw_input("Try to guess my number...")
while guess!=number:
if guess>number:
print "Lower"
elif guess==number:
print "Correct, you win!"
else:
print "Higher"
guess = raw_input("Try again...")
我是新来的,我想知道为什么当我输入的数字小于这个数字时它不会显示“Higher”,另外,既然randrange(1100)不起作用,我怎么能让这个数字随机出现呢
它不起作用,因为
raw_input
返回一个字符串。你知道吗您需要确保检查相同类型的相等性。请先尝试转换为int:
当然,如果您尝试将非数字字符串转换为int,这将引发异常,因此您还需要一些错误处理:
首先,当您使用
raw_input("Try to guess my number...")
时,ir返回一个字符串,并且str!=int
在任何情况下,因此您运行的是一个无限while guess!=number:
循环,因为对于字符串和整数的比较,条件始终为true。你知道吗另一件事是
while
和elif
的语句相互矛盾,当您使用while guess!=number:
运行while条件时,您怎么能期望这个elif guess==number:
语句在while语句中运行,所以答案是在while
循环之外处理这个情况。你知道吗原始输入返回一个字符串。您需要将其转换为int进行比较:
一个
str
永远不会==一个int
相关问题 更多 >
编程相关推荐