如何在while循环中添加多个条件
问题描述:
我正在创建一个基于文本的游戏,需要保持多个属性,例如耐力,健康等,如果他们走到下面,我会遇到麻烦0
。我知道一个while循环会工作,我可以这样做:如何在while循环中添加多个条件
life = 1
while(life > 0):
print("You are alive!")
print("Oh no! You got shot! -1 Life")
life-1
print("You are dead! Game Over!")
但我不知道该怎么做,与多个条件,如体力,饥饿,强度等
答
您可以随时使用and
和or
。例如:
while (life > 0) and (health > 0) and (stamina > 0):
答
由于0
评估为False
在Python中,你可以使用all
:
while all((life, stamina, hunger, strength)):
这将测试所有名称是否不等于零。
然而,如果你需要测试,如果所有的名字都大于零(意思是,他们有可能成为负),你可以添加一个generator expression:
while all(x > 0 for x in (life, stamina, hunger, strength)):
+0
如果它们可能是负数,这将不起作用。 – Barmar 2014-11-08 19:37:45
答
你可以把if
语句转换成while循环在每次迭代开始时检查这些统计信息。这样你可以分别处理每个事件。
life = 1
while(life > 0):
if stamina < 1:
print "out of stamina"
break
if hunger < 1:
print "You died of hunger"
break
print("You are alive!")
print("Oh no! You got shot! -1 Life")
life-1
print("You are dead! Game Over!")
如果你有生命,力量和耐力,但是饥饿达到0或更低,会发生什么? – 2014-11-08 20:53:00