Дрон Кодер — программирование для детей и взрослых в игровой форме. Начать бесплатно

Вложенные условия: как не запутаться

Иногда решение зависит от нескольких проверок подряд. Их можно вкладывать друг в друга — но важно не переусердствовать.

Условие внутри условия

Вложенный if — это проверка внутри другой проверки: сначала одно условие, и только если оно верно, проверяем второе. Каждый уровень вложенности добавляет отступ.

if ready():
    if here() == 'wheat':
        harvest()

Следите за отступами

В Python именно отступ показывает, что к чему относится. Во вложенных условиях легко сбиться — держите отступы ровными по 4 пробела и проверяйте, на каком уровне находится каждая команда.

Когда упростить

Глубокая вложенность трудно читается. Часто два вложенных if можно заменить одним через and (оба условия сразу), а цепочку вариантов — на elif. Простой плоский код почти всегда лучше глубоко вложенного.

if ready() and here() == 'wheat':
    harvest()   # то же самое, но проще

Частые вопросы

Когда and, а когда вложенный if? Если действий между проверками нет — обычно проще and.

Сколько уровней допустимо? Чем меньше, тем лучше; глубже 2–3 — повод упростить.

Начать игру бесплатно
Попробуй прямо здесь
Уровень 1

Задание