条件while循环无法正常反应

时间:2019-05-17 19:48:51

标签: python while-loop

我试图用以下逻辑编写一个while循环:

while enemy is alive and characters are alive:
    continue...

但是,每个角色的健康状况都绑定到单独的变量/列表条目。

所以我有

while enemydata[2] >0 and combatpartystats[0][1] >0 and combatpartystats[1][1] >0 and combatpartystats[2][1] >0 and combatpartystats[3][1] >0:
    continue...

然而,当四个字符的健康状况中的任何一个低于0时,循环就会中断。

我只想在所有角色都死了或敌人死了时中断循环。

我希望我已经很好地解释了我的问题,任何问题都可以问到。

3 个答案:

答案 0 :(得分:0)

您几乎明白了。试试这个:

while enemydata[2] > 0 and (combatpartystats[0][1] > 0 or combatpartystats[1][1] > 0 or combatpartystats[2][1] > 0 or combatpartystats[3][1] > 0):
    continue...

这只有在您的敌人死亡或所有队友都死亡的情况下才会打破。

答案 1 :(得分:0)

代替

while enemydata[2] >0 and combatpartystats[0][1] >0 and combatpartystats[1][1] >0 and combatpartystats[2][1] >0 and combatpartystats[3][1] >0:

只要以上所有条件均成立,它将继续运行,请将“和”语句更改为“或”语句,然后如果其中任何一个评估为true,脚本将继续。

答案 2 :(得分:0)

尝试将您的更改为,我认为它将满足您的要求。