重玩代码问题
我在代码上遇到了一些问题,想让游戏可以“再玩一次”。这是我的代码:
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”时,游戏还是会继续进行。有没有什么想法?
2 个回答
1
这段内容是关于编程问题的讨论,主要集中在如何解决特定的技术难题。大家在这里分享自己的经验和解决方案,帮助彼此理解和克服遇到的困难。
在这个过程中,参与者可能会提到一些代码示例,或者给出一些建议和最佳实践,目的是让其他人能够更容易地理解和应用这些技术。
总之,这里是一个互相学习和交流的地方,大家都在努力让编程变得更简单、更有效。
play_again = raw_input("Would you like to play again? Y|N ").strip().lower()
3
你存储的是 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
这个关键词会立即结束循环,而不需要先回到顶部再检查一个变量。