В предыдущем уроке мы познакомились с конструкцией ветвления if
В сегодняшнем уроке мы более подробно разберем более сложные варианты этой конструкции.
Практический пример
Создаем на рабочем столе файл test22.py
Не забываем про кодировку. Пишем в него руками следующий программный код:
# -*- coding: utf-8 -*- yabloki = 100 zemlyanika = 50 sliva = 70 #Первый вариант составления конструкции ветвления if yabloki < zemlyanika: print u"Сок будет землянично-яблочный." if zemlyanika < yabloki: print u"Сок будет яблочно-земляничный." #Второй вариант составления конструкции ветвления if yabloki < zemlyanika: print u"Сок будет землянично-яблочный." else: print u"Сок будет яблочно-земляничный." #Третий вариант составления конструкции ветвления if yabloki < zemlyanika: print u"Сок будет землянично-яблочный." else: if sliva > zemlyanika: print u"Сок будет сливово-земляничный." #Четвертый вариант составления конструкции ветвления if yabloki < zemlyanika: print u"Сок будет землянично-яблочный." elif sliva > zemlyanika: print u"Сок будет сливово-земляничный."
Краткое пояснение к коду
Первый вариант составления кода – такой же, как в предыдущем уроке.
Если возьмем больше земляники, то сок будет землянично-яблочный.
Если возьмем больше яблок, то сок будет яблочно-земляничный.
Второй вариант. Вместо второго блока if
мы используем блок else
. Это необязательный блок, но его проще и короче написать, чем два блока if. Поэтому программисты его часто используют. Означает он следующее:
если яблок меньше земляники, то сок будет землянично-яблочный,
в противном случае - сок будет яблочно-земляничный.
То есть здесь мы имеем два варианта – либо яблок больше земляники, либо наоборот. Вот это «наоборот» и означает слово else
.
Третий вариант. А если мы добавим третье условие – сливу. В этом случае в блоке else нам надо добавить вложенный блок if
. И в него встраиваем это третье условие.
Четвертый вариант. Он такой же, как третий вариант, но слова else
и if
мы объединяем в блок elif
. Это делается для того, чтобы все нижележащие блоки условий лежали ровно под вышележащими блоками. Если же делать по третьему варианту, то каждый нижележащий блок будет смещен на 4 пробела вправо. И если в программе будет 20 условий, то в окне программы будет некрасивая "лесенка" и самый нижний блок else-if уйдет далеко вправо.
Пока мы просто знакомимся с этими новыми командами: if-else-elif. Но в дальнейшем вы поймете, что чаще всего их используют для интерактивного общения с пользователем.
Например, если вы сдаете теоретический экзамен на вождение автомобилем:
- Если вы набрали 20 баллов, вы сдали экзамен.
- Если вы набрали 19 баллов, вам выдается 5 дополнительных вопросов.
- Если вы набрали 18 баллов, вам выдается 10 дополнительных вопросов.
- Если вы набрали 17 баллов и менее – вы не сдали экзамен.
Примерно так выглядит задание для программиста, чтобы он составил программу расчета результатов экзамена. И он начинает использовать блоки if-else-elif для отображения разных вариантов сдачи экзамена.
Теперь открываем программу PowerShell и прописываем команду: python desktop/test22.py
В итоге у вас должно получиться также, как на картинке.
Домашнее задание
- Изучите мой код и проговорите те действия, которые выполняет программа на каждой строчке кода.
- Попробуйте поменять значения переменных и посмотрите на результат.
А в следующем уроке мы научимся вовлекать пользователя в программный код с помощью блоков if, то есть создавать интерактивный сценарий в виде небольшой игры - перейти в урок 28.