Итак, я читал книгу «Изучите Python трудный путь» Зед Шоу, и в ней говорится, что использование более чем 2-х слов глубоко. В настоящее время я пишу игру, и это имело бы больше смысла для меня, чтобы использовать несколько если заявления:Почему плохо считается, если говорить более двух, если заявление глубоко?
shoot = -50
zombie_hp = -100
def zombie1(shoot, zombie_hp):
return shoot - zombie_hp
def attack():
attack = raw_input("What will you do?: ")
print zombie1(zombie_hp, shoot)
if attack == "shoot":
if shoot == -50:
print "Zombie health 50/100"
attack2 = raw_input("What will you do?: ")
print zombie1(zombie_hp, shoot)
if attack == "shoot":
print "Zombie health 0/100 (Zombie dies)"
attack()
Теперь почему это плохо идти 3, если заявления глубоких по этому поводу? Благодаря!
делать, если атака == стрелять и стрелять == -50: Это не буквально плохо (как все будет работать), но это зависит от контекста, на самом деле. Если вы не сможете использовать тонны операторов if, это сделает ваш код чистым. –
Я думаю, что для всех языков: это просто уродливо смотреть. Кстати, вам не понадобится вторая «if attack ==» стрелять », как вы уже проверяли ее в своем первом выражении if. – Mikey
Проблема здесь не в глубине гнездования как таковой, а в более плохом виде кода. Внутреннее 'if' является повторением частей внешнего, что оставило вас уязвимым для ошибки использования' attack' вместо 'attack2'. Кроме того, глобальные переменные - плохая идея; рассмотрите ООП, введите экземпляр класса «Зомби» с атрибутом «здоровье». – jonrsharpe