【发布时间】:2016-12-11 17:31:32
【问题描述】:
我需要一些关于我正在尝试制作的基于文本的游戏的代码方面的帮助。我的游戏使用健康,代码以“while health>0:”开始,在游戏的另一点,当健康最终=0时,循环仍然继续。当health = 0时如何使循环结束,而不完成整个循环。
这是一个例子:
health=100
while health>0:
print("You got attacked")
health=0
print("test")
当 health=0 时代码不应该停止,并且不打印“test”吗?当健康= 0时如何让它停止?我写的代码是根据用户的行为来扣除健康的,所以健康=0的时间可能会有所不同。我想在 health=0 时结束代码 任何帮助将不胜感激。
【问题讨论】:
-
health>0检查只发生在每次迭代开始时,所以health=0直到print('test')之后才会生效 -
是的。在我的代码中,我将继续根据用户的操作(他们的输入)扣除健康,并且我想在 health=0 时结束,这可以根据用户做出的决定而改变
-
您应该知道用户的健康状况何时会发生变化,只需在每次用户健康状况发生变化时添加
if health=0 : break语句 -
我想过这样做,但我认为会有更有效的方法来做到这一点。无论如何我都会这样做,这不应该是一个问题。谢谢!
标签: python while-loop pyscripter text-based