Главная → Уроки → Информатика 8 класс

§ 5.4. Программирование разветвляющихся алгоритмов

Прочитай параграф о ветвлениях на Python — условном операторе if и else, отступах, условиях с and, or, not и цепочками сравнений, вложенных ветвлениях и каскаде elif — и ответь на 10 вопросов.

Не получается разобраться? Бесплатный ИИ-репетитор по информатике 8 класс разберёт ошибку по шагам и не даст списать.

Пока программа идёт строка за строкой, она делает одно и то же, какие бы числа ни ввели. А нужный шаг нередко зависит от ввода, и выбирать в Python помогает условный оператор.

Полная и неполная форма

Оператор начинается словом if («если»), за ним стоят условие и двоеточие. Ниже, со сдвигом вправо, пишут команды для истинного условия. Слово else («иначе») ставят на одном уровне с if, тоже с двоеточием, а под ним со сдвигом — команды для ложного:

if условие: действия, если условие истинно else: действия, если условие ложно

Выполняется ровно одна из двух групп. Если при ложном условии делать нечего, else с его блоком не пишут — это неполный условный оператор: при ложном условии программа сразу идёт к строке после блока. Обе формы показаны на рисунке 1 блок-схемами и записью Python.

Две блок-схемы рядом. Слева полная форма: из ромба «условие» стрелка «да» ведёт в прямоугольник «блок if», стрелка «нет» — в прямоугольник «блок else», ниже обе ветки сходятся в одну линию. Справа неполная форма: стрелка «да» ведёт в прямоугольник «блок if», а стрелка «нет» обходит его и сразу идёт вниз, к месту встречи. Под каждой схемой та же конструкция на Python: строки if условие: и else: стоят у левого края, строки блоков сдвинуты вправо и отмечены цветной полосой, а строка «дальше» снова стоит у левого края
Рис. 1. Полный и неполный условный оператор: блок-схема и запись Python. Блок — это строки со сдвигом вправо.

Отступы

Где кончается блок, Python узнаёт по отступу — сдвигу строки от левого края. Строки, сдвинутые одинаково под строкой с двоеточием, образуют блок: они выполняются или пропускаются вместе. Первая строка, вернувшаяся на уровень if, в блок уже не входит и выполняется при любом условии. Обычно сдвигают на четыре пробела, можно на два или клавишей Tab — лишь бы внутри блока одинаково. Если после двоеточия нет сдвинутой строки или строки блока сдвинуты по-разному, Python не запустит программу и сообщит об ошибке IndentationError. Забытое двоеточие даёт ошибку SyntaxError. Блок из одной короткой команды разрешено написать прямо в строке с if: if a > b: y = a.

Дано: лифт поднимает не больше 400 кг, а пассажиры весят 470 кг.

x = int(input('Введите вес пассажиров: ')) if x <= 400: print('Можно ехать') else: print('Перегрузка!') print('Двери закрываются')

Хочешь больше времени в телефоне?

В Family Track телефон открывается за уроки: прочитал параграф, сдал тест и получил минуты. Сколько минут стоит урок, решают родители. Отправь им ссылку, пусть посмотрят.

Отправить родителямПройти урок бесплатно

Вопросы из теста

Правильные ответы и разбор ошибок — в приложении: при пересдаче вопросы меняются, поэтому списать не получится.

Ниже шесть попыток записать условный оператор в одну строку. В какой из них Python не найдёт ошибки?

Пользователь набрал да, затем 14. Какие строки выведет на экран программа ниже?

Не получается разобраться? Бесплатный ИИ-репетитор по информатике 8 класс разберёт ошибку по шагам и не даст списать.

← § 5.3. Программирование линейных алгоритмов§ 5.5. Программирование циклических алгоритмов →