第一个IF语句被忽略了,我不知道是什么原因引起的。我检查了缩进,一切看起来都很好。你可以在代码中看到它打印numberRolled但是当我运行它时它只会忽略第一个IF。
import random
numberRolled = random.randint(1,6)
print numberRolled
while True:
userGuess = raw_input("Guess a number\n")
if userGuess == numberRolled:
print "You got it right!"
quitYN = raw_input("Would you like to play again?\n").lower()
if quitYN == "yes":
continue
else:
break
elif userGuess != numberRolled:
print "Wrong!"`
答案 0 :(得分:0)
raw_input()
会返回字符串,但random.randint()
会返回 int 。这意味着在执行userGuess == numberRolled
时,您将字符串与int(返回False
)进行比较。
要解决此问题,只需将其中一个变量转换为正确的类型:
userGuess == str(numberRolled)
查看this answer以获取有关变量类型以及如何在python中比较它们的更多信息。