В сегодняшнем уроке мы познакомимся с конструкцией 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, значит их блоки инструкций не выполнены.

 

Домашнее задание

  1. Попробуйте поменять в данном коде возраст человека. Посмотрите, что получится в программе PowerShell.
  2. Попробуйте составить код программы, где укажете свое условие. Например, отбор спортсменов в разные весовые категории в зависимости от их массы тела.

А в следующем уроке мы выучим еще более сложные конструкции ветвления с использованием вложенным блоков - перейти в урок 27.