Вложенные условия: как не запутаться
Иногда решение зависит от нескольких проверок подряд. Их можно вкладывать друг в друга — но важно не переусердствовать.
Условие внутри условия
Вложенный if — это проверка внутри другой проверки: сначала одно условие, и только если оно верно, проверяем второе. Каждый уровень вложенности добавляет отступ.
if ready():
if here() == 'wheat':
harvest()
Следите за отступами
В Python именно отступ показывает, что к чему относится. Во вложенных условиях легко сбиться — держите отступы ровными по 4 пробела и проверяйте, на каком уровне находится каждая команда.
Когда упростить
Глубокая вложенность трудно читается. Часто два вложенных if можно заменить одним через and (оба условия сразу), а цепочку вариантов — на elif. Простой плоский код почти всегда лучше глубоко вложенного.
if ready() and here() == 'wheat':
harvest() # то же самое, но проще
Частые вопросы
Когда and, а когда вложенный if? Если действий между проверками нет — обычно проще and.
Сколько уровней допустимо? Чем меньше, тем лучше; глубже 2–3 — повод упростить.
Начать игру бесплатно