我在代码方面遇到问题,让我们有人“再玩一次”。这是代码:
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/