☰ Содержание · Информатика

Практика if…else и оператор elif

Уроки 38–39 · 2 урока · М. Р. Файзиева, Д. М. Сайфуров, Н. С. Хайтуллаева. Информатика и информационные технологии, 9 класс. «Nashriyot uyi Tasvir», Ташкент, 2020
39

Программирование разветвляющихся алгоритмов: оператор elif

Учебник: с. 79–80
ЦельПроверяет несколько условий по очереди с помощью оператора elif, знает структуру и отступы вложенного if и пишет программы с выбором из многих путей.
Новые слова
elif: «иначе если», следующее условие, которое проверяется только если предыдущие были False · elifвыбор из многих вариантов: цепочка if, elif и else, в которой выполняется ровно один блок · ko‘p yo‘lli tanlovвложенный if: if, помещённый внутрь блока другого if, с ещё одним отступом · ichma-ich ifпорядок условий: выбирается первое True, поэтому порядок важен · shartlar tartibi
Объяснение

Когда нужно выбрать один из многих случаев, используется цепочка if, elif и else: Python проверяет условия сверху вниз, выполняет первый блок, оказавшийся True, и пропускает остальные; если ни одно не True, срабатывает else. Поэтому порядок условий важен: когда зимние месяцы уже отделены, условие m <= 5 соответствует только весенним месяцам. Число частей elif не ограничено, а else необязателен. Оператор выбора вроде CASE в других языках в Python заменяется этим способом. Внутри if может находиться другой if: внутренний if записывается с отступом на 4 пробела больше, чем внешний, иначе он становится отдельным условием. Внутреннее условие проверяется только тогда, когда внешнее равно True.

Примеры
Название времени года: m = int(input()) ⏎ if m == 12 or m == 1 or m == 2: ⏎     print("qish") ⏎ elif m <= 5: ⏎     print("bahor") ⏎ elif m <= 8: ⏎     print("yoz") ⏎ else: ⏎     print("kuz") Для месяца 7 зимнее условие ложно, m <= 5 ложно, m <= 8 истинно – выводится yoz.
Вложенный if: n = int(input()) ⏎ if n > 0: ⏎     if n % 2 == 0: ⏎         print("musbat juft") ⏎     else: ⏎         print("musbat toq") ⏎ else: ⏎     print("musbat emas") 9 положительно, поэтому проверяется внутреннее условие; 9 % 2 = 1, поэтому выводится musbat toq. Если набрать отрицательное число, внутренний if не проверяется и выводится musbat emas.
Работа в классе

«Переводчик оценок»: группа пишет программу, которая считывает оценку от 1 до 5; с помощью цепочки elif она выводит 5 – «a’lo» (отлично), 4 – «yaxshi» (хорошо), 3 – «qoniqarli» (удовлетворительно), 2 – «qoniqarsiz» (неудовлетворительно), а для любого другого числа else выводит «no such mark».

Упражнения
1
Что выводит программа о временах года для месяца 4?
2
Напишите программу с elif, определяющую знак числа («musbat», «manfiy», «nol»).
3
Что выводит вложенная программа, если набрать n = -4?
4
Чем цепочка elif лучше нескольких отдельных if?