В сегодняшнем уроке мы познакомимся с конструкцией if
.
if – по-английски значит «если». В программировании конструкция if
используется повсеместно. Это основа составления любых программ. Почему?
А потому, что вводя в код конструкцию if
, мы задаем ветвление программы. Эту команду так и называют – «оператор ветвления».
Схематично это будет выглядеть так:
Если вам исполнилось 14 лет, то вам следует подать заявление на первичное оформление паспорта гражданина.
Если вы старше 14 лет, то вам не надо подавать такое заявление – паспорт у вас уже есть.
Если вам меньше 14 лет, то паспорт вам еще рано получать.
Давайте теперь запишем это условие в виде кода программы.
Практический пример
Создаем на рабочем столе файл test21.py
Пишем в него руками следующий программный код:
# -*- coding: utf-8 -*- vozrast = 14 if vozrast == 14: print u"Вам надо подать заявление на оформление паспорта!" if vozrast > 14: print u"У вас уже должен быть паспорт!" if vozrast < 14: print u"Вам еще рано оформлять паспорт!"
Краткое пояснение к коду
В прошлом уроке мы проходили логические выражения и операторы (повторить урок 25). Вспомните, что Python проверяет наш код на истинность или ложность. Так вот в сегодняшнем уроке мы и применили логическое выражение для составления условия.
Блок, в котором задается условие if
так и называется – блок if
, или блок условия.
В первой строке этого блока мы задаем само условие: если переменная vozrast равна 14 и ставим двоеточие. Это означает, что дальше должна последовать какая-то инструкция, которую мы должны начать с новой строки и обязательно отступить от начал строки 4 пробела.
В других языках программирования блок инструкций может начинаться либо с начала строки, либо в составе скобок { }
.Но в Питоне решили использовать 4 пробела и этого достаточно для выполнения всего блока if
. Если вы не поставите 4 пробела, Питон вам выдаст ошибку, так как за условием if
должна следовать какая-то инструкия.
Помните, при написании пользовательской функции мы также отступали 4 пробела (урок 22 - перейти). Вот здесь то же самое. Как только после строк с инструкциями мы начинаем код с новой строки без пробела – Питон поймет, что блок инструкций закончился и начался совсем другой код, не относящийся к блоку if
.
Внимание: Питон выполняет все блоки if
по-порядку – сначала первый, потом второй и т.д. Если первое условие имеет ложное значение, Питон не выполняет инструкцию из этого блока, а сразу переходит ко второму блоку. И дальше – все то же самое.
Итак, пройдемся по нашему коду. Питон выполняет первый блок условия if
. Если пользователь говорит, что ему 14 лет, то Питон сравнивает это число с переменной vozrast и если эти числа совпадают (значение True), то на печать выводится инструкция из первого блока. Если возраст пользователя не 14 лет, то при выполнении логического выражения Питон получает значение False и не выполняет инструкцию из первого блока, а переходит ко второму блоку.
Во втором блоке Питон опять выполняет логическое действие. Если возраст пользователя старше 14 лет, значит получается значение True и Питон выполняет инструкцию в данном блоке. Если возраст младше 14 лет, значит он не выполняет инструкцию из данного блока, а переходит к следующему блоку условия.
В третьем блоке if
опять выполняется логическое действие. Если возраст человека младше 14 лет, то выполняется блок инструкций в данном блоке if
. А четвертого условия в данной программе быть не может. То есть человеку может быть либо 14 лет, либо больше, либо меньше 14 лет.
Теперь открываем программу PowerShell и прописываем команду: python desktop/test21.py
В итоге у вас должно получиться также, как на картинке.
Как видите, возраст пользователя – 14 лет. Значит выполнился первый блок if
с его инструкцией пойти срочно оформлять паспорт. В остальных блоках if
условие имеет значение False, значит их блоки инструкций не выполнены.
Домашнее задание
- Попробуйте поменять в данном коде возраст человека. Посмотрите, что получится в программе PowerShell.
- Попробуйте составить код программы, где укажете свое условие. Например, отбор спортсменов в разные весовые категории в зависимости от их массы тела.
А в следующем уроке мы выучим еще более сложные конструкции ветвления с использованием вложенным блоков - перейти в урок 27.