我的代码:
from random import randint
def main():
print "Guess a number between 1 and 100"
randomNumber = 35
found = False
while not found:
userGuess = raw_input("Your guess:")
if userGuess == randomNumber:
print "You got it"
elif userGuess > randomNumber:
print"Guess lower!"
else:
print "Guess higher"
main()
当我开始编写脚本并开始随机写入时,我总是得到"猜得更低"所以我试着做一点不同的事情。我做了这个代码:
print "Guess a number between 0 and 100"
random = "36"
numb = raw_input("Enter your guess: ")
while numb != random:
numb = raw_input()
if numb < random:
print "Guess lower"
if numb > random:
print "Guess higher"
if numb == random:
print " You guessed it"
exit()
你能帮我找到错误吗?
答案 0 :(得分:1)
问题是您正在将数字与用户输入中的字符串进行比较。使用以下行将输入转换为数字。
numb = int(raw_input("Enter your guess: "))
您还需要在第一个if条件中将found
设置为true
,以便在猜到数字后退出循环。
答案 1 :(得分:0)
https://docs.python.org/2/library/functions.html#raw_input
raw_input()
返回一个字符串。您需要将其强制转换为int
,然后使用它。
x = int(raw_input())
至于第二个例子,你要将字符串与字符串进行比较,字符串将按字典顺序进行比较,而这不是你想要的。