Продолжаем! Тема второго урока — условный оператор в Python. Не открою ни для кого секрет, что основой практически любой программы является работа с условиями. Да что там программа. Вся наша жизнь запрограммирована на условиях. Взгляните сами: если будильник прозвенел, то нужно вставать, иначе — опоздаем. Или так: если синоптики спрогнозировали дождь, то нужно взять с собой зонт, иначе — промокнем. И так далее. Нужно ли говорить, что условный оператор в Python работает точно так же? Вижу, вы уже сами догадались.
Условный оператор в Python: синтаксис
Будучи простым, язык Python использует в своём синтаксисе английские слова. Таким образом, «если» в языке Python будет «if», «иначе» — «else». Промежуточного «то» вставлять не нужно, для этого просто используется перенос на следующую строку. К слову, условный оператор в Python может быть использован без конструкции «else», если нам потребуется выполнить команду только в случае выполнения условия. А вот «else» без «if» — наоборот, использоваться не может. И да, важный момент. Для указания блоков действий нужно обязательно использовать отступ (4 пробела). Давайте я продемонстрирую это на примере с зонтиком.
1 2 3 4 5 6 |
umbr = input ('Скажите, сегодня будет дождь? Если да, нажмите "1". Если нет, нажмите "2"') if umbr == '1': d = 'Обязательно возьмите с собой зонтик!' else: d = 'Зонтик брать не обязательно' print (d) |
Обратите внимание, в 3-й строке, когда мы объявляем условие, мы ставим два знака «=» подряд. Это особенности работы условного оператора в Python.
Что же делает эта программа? Во-первых, при помощи команды «input», она уточняет у пользователя, будет ли дождь. В случае положительного ответа, программа предупредит о необходимости взять с собой зонт. Примечательно, что необязательно было пользователя просить нажать клавишу «2», если дождя не ожидалось. Можно было попросить нажать его «любу другую клавишу», ведь всё равно этот вариант обрабатывался командой «else» (иначе).
Усложняем задачу: двойное условие
Часто бывает, что программе требуется соотнести сразу два условия. Например, сервису нужно проверить стандартную пару «логин-пароль». И, естественно, нужно, чтобы оба значения двух переменных совпадали сразу. Для этого используется команда and (или, по-русски «и»). Взгляните на программу:
1 2 3 4 5 6 |
myname = input ('Введите логин') mypass = input ('Введите пароль') if myname == 'Иван' and mypass == 'пароль': print ('Добро пожаловать!') else: print ('Введённый логин и (или) пароль не числятся в системе') |
Раз уж мы заговорили про сверку логинов и паролей, уверен, вы понимаете, что даже у одного пользователя их может быть несколько. Хорошо, что условный оператор в Python умеет обработать и такую ситуацию. Нужно лишь поставить «сложное» условие в скобки и использовать команду or (по-русски «или»). Посмотрите:
1 2 3 4 5 6 |
myname = input ('Введите логин') mypass = input ('Введите пароль') if (myname == 'Иван' and mypass == 'пароль') or (myname == 'Мария' and mypass == 'книга') : print ('Добро пожаловать!') else: print ('Введённый логин и (или) пароль не числятся в системе') |
Вложенные условные операторы в Python
Разумеется, мы не всегда можем принимать решения, выбирая только из двух вариантов. Больше вам скажу, для приближения к реальности программу всегда нужно учить обрабатывать с десяток разных вариантов. Справиться с этим помогают вложенные условные операторы в Python. Конструкция простая: каждый следующий вариант начинается с команды elif (по-русски «иначе-если»). К примеру, следующая программа реагирует по-разному, в зависимости от возраста, который указывает пользователь. Подразумевается, что пользователь указывает количество полных лет, поэтому переменная объявляется целочисленной (int). К слову о том, какими бывают переменные в Python, я рассказывал на прошлом уроке.
1 2 3 4 5 6 7 8 9 |
v = int (input ('Скажите, сколько Вам лет?')) if v < 18: print ('Здравствуй, малыш') elif v < 30 and v > 18: print ('Добрый день, молодой человек') elif v < 65 and v > 30: print ('Мое почтение, сударь') elif v < 100 and v > 65: print ('Здравствуйте, милейший') |
Как видите, для наиболее качественной обработки данных можно использовать не только точные значения (равенства), но и неравенства. Например, больше или меньше, больше или равно (>=) или меньше или равно (<=). И, конечно же «не равно» — !=
Домашнее задание
Напишите программу, которая будет помогать пользователю выбирать приветствие в зависимости от времени суток. Программа должна спросить, сколько сейчас часов (из 24х). Если введенное число находится в диапазоне от 6 до 12, то на экране должна появиться надпись «Доброе утро». Если от 13 до 17, — «Добрый день», от 18 до 23 — «Добрый вечер» и, наконец, от 0 до 5 — «Доброй ночи». Проверить вы себя сможете как раз на втором уроке — начнём мы именно с разбора домашнего задания. Удачи в новых начинаниях, до встречи на уроках по Python!