IF语句跳过 - Python 2.7

时间:2017-04-27 03:47:02

标签: python python-2.7

第一个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!"`

1 个答案:

答案 0 :(得分:0)

raw_input()会返回字符串,但random.randint()会返回 int 。这意味着在执行userGuess == numberRolled时,您将字符串与int(返回False)进行比较。

要解决此问题,只需将其中一个变量转换为正确的类型:

userGuess == str(numberRolled)

查看this answer以获取有关变量类型以及如何在python中比较它们的更多信息。