Python代码循环
问题描述:
我一直在试图做一个随机数猜测游戏。我正在使用:Python代码循环
def Guess():
randomNumber = random.randint(1, 100)
found = False
while not found:
_guess = raw_input("Your Guess: ")
if _guess == randomNumber:
print "Correct!"
found = True
elif _guess > randomNumber:
print "Too High"
else:
print "Too Low"
问题是无论如何,它打印“太高”。 我试图在网上搜索这个问题,但我不知道要搜索什么。
有谁知道我能做些什么来解决这个问题?
答
Python的raw_input()
给你一个串,不是一个整数,并且由于"42"
实际上不是等于42
,它永远是正确的(一)
你需要把这个字符串转换成整数之前你比较,喜欢的东西:
_guess = int(raw_input("Your Guess: "))
(一)注了Python 3不允许有序的不平等检查混合串/数字参数,所以:
"2" > 1
实际上将引发一个错误。它仍然允许直接不平等!=
和等于==
检查,但仍然认为字符串和数字不相等。
字符串和整数比较总是返回较小的整数。 – jath03