我在代码方面遇到问题,让我们有人“再玩一次”。这是代码:

playing = True
while playing:
    game()
    play_again = raw_input("Would you like to play again? Y|N").lower
    if (play_again == "n"):
        playing = False


但是,在我键入“ n”或“ N”后,游戏仍然会再次播放。有任何想法吗?

最佳答案

您存储的是str.lower方法,而不是结果。添加()实际调用该方法:

raw_input("Would you like to play again? Y|N").lower()


Python方法是对象,就像其他所有对象一样,您可以像存储字符串一样存储它们:

>>> 'NO'.lower
<built-in method lower of str object at 0x1058d8c88>
>>> 'NO'.lower()
'no'


代替使用标志变量,使用break退出循环,并使用True使循环永无止境:

while True:
    game()
    play_again = raw_input("Would you like to play again? Y|N").lower
    if play_again == "n":
        break


在这里,break关键字将在此处结束循环,而无需首先循环回到顶部并测试变量。

关于python - 再次播放代码问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23475938/

10-12 21:00