Вместо:
while your_health or enemy_health >= 10:
Я думаю, что вы имеете в виду:
while your_health >= 10 or enemy_health >= 10:
То, что у вас есть, правильно Английский как в "while" (ваше здоровье или врагздоровья) больше десяти ", но синтаксис компьютерных языков немного более строг.
Для компьютера это означает" пока (ваше здоровье) или (здоровье врага больше десяти) "и, вВ контексте истинного значения многие языки будут просто рассматривать ненулевое значение как истинное.Python следует в соответствии с этим соглашением.
С 5.10 Булевы операции онлайновых документов Python:
В контексте булевых операций:а также, когда выражения используются операторами потока управления, следующие значения интерпретируются как ложные: False, None, числовой ноль всех типов, а также пустые строки и контейнеры (включая строки,кортежи, списки, словари, наборы и фрозенцец). Все остальные значения интерпретируются как истина.
(выделено жирным шрифтом).Таким образом, утверждение:
while your_health or enemy_health >= 10:
эффективно (при условии, что оно является числовым, и вы никогда не позволите ему упасть ниже нуля в вашем коде, разумные предположения с учетом его предполагаемого назначения):другими словами, цикл будет продолжаться до тех пор, пока у вашего игрока будет любое здоровья, а не десять или более очков здоровья.