Всех приветствую, в данной статье мы познакомимся с основными условными операторами в языке программирования Python, зачем они нужны и как их использовать. Поехали!
Что такое условные операторы ?
Условные операторы — это такие конструкции в коде, которые хранят в себе блок кода, который будет исполняться, если условие, которое было заложено в сам условный оператор, будет истинным.
Оператор if
В Python, так же как и в почти любом другом языке программирования, есть условные операторы, и if является самым основным из них. Условные операторы позволяют выполнять разные действия в зависимости от выполнения определенных условий. В Python оператор if используется для проверки условий. Если условие истинно, выполняется блок кода, связанный с этим оператором.
Синтаксис оператора if выглядит следующим образом:
if условие:
код, который выполняется, если условие истинно
Здесь не видно, но вам стоит знать, что блок кода, который будет выполнятся, если условие истинно, отделяется от основного кода отступом, который равен 4 пробелам или 1 tab.
Также стоит знать, что условие, которое прописано в примере, должно возвращать либо True (истина), либо False (ложь).
Блок кода в условной конструкции, который отделён от всего основного кода, называется телом условной конструкции.
if переводится с английского как «если», это упрощает понимание его работы.
Давайте напишем свою условную конструкцию:
if True:
print('hello') # hello
Если условие истинно, то мы выводим в консоль строку «hello». Это происходит потому, что условная конструкция, которую мы создали, всегда будет выполнять код, находящийся внутри неё.
В месте, где необходимо указать условие, возвращающее True или False, мы написали True. Поэтому наша условная конструкция всегда будет приводить к выполнению кода из своего тела, в нашем случае — к выводу строки 'hello' в консоль.
Оператор else
Как мы уже поняли, оператор if срабатывает только тогда, когда выполняется какое-нибудь условие, но что, если нам нужно обрабатывать такой момент в коде, когда ни одна из условных конструкций не сработала. В этом случае и приходит на помощь оператор else, переводится с английского как «иначе», что облегчает понимание принципа его работы, он срабатывает только когда ни одна из условных конструкций не сработала. Оператор else работает только если в коде есть оператор if, если if в коде не будет, то выведется ошибка.
Давай напишем структуру для лучшего понимания:
if условие:
код, выполняющийся при истинном условии
else:
код, выполняющийся при ложном условии
Давайте переведём этот текст. ЕСЛИ условие, которое находится в if, является истинным, то выполняем код, находящийся в теле конструкции с if, ИНАЧЕ, то есть если условие в if будет ложным и, следовательно, тело конструкции с if не сработает, то будем выполнять код, который заложен в теле условной конструкции с else.
Блок кода, находящийся в условной конструкции с else, будет срабатывать в самый последний момент, если не сработает ни одна из условных конструкций.
Условная конструкция с else не принимает никаких условий в себя.
if False:
print('этот код никогда не сработает')
else:
print('этот код будет срабатывать всегда')
В данном примере мы специально сделали так, чтобы конструкция с if никогда не сработала, написав в место, где нужно написать условие, False, то есть ложь, поэтому всегда будет срабатывать блок кода из тела конструкции с else, выводя в консоль строку 'этот код будет срабатывать всегда'.
Операторы сравнения
В Python есть 6 основных операторов сравнения. Давайте рассмотрим каждый:
1. Равно (==) сравнивает числа или строки на равенство, возвращает True, если сравниваемые элементы равны, и в любом другом случае возвращает False.
2. Неравно (!=) сравнивает также числа или строки, только на неравенство, возвращает True, если сравниваемые элементы неравны, и False в любом другом случае.
3. Больше или равно (>=) этим оператором тоже можно сравнивать числа и, как ни странно, строки, но сейчас мы поговорим только про сравнение чисел, а сравнение строк и не только разберём в отдельной статье. Возвращает True, если число слева больше или равно числа справа, и False в противном случае.
4. Меньше или равно (<=) всё то же самое, что и с больше или равно, только наоборот, будет возвращать True, если число слева меньше числа справа, и иначе False.
5. Больше (>). Возвращает True, если число справа строго больше числа слева, False иначе.
6. Меньше (<). Будет возвращать True, если число справа строго меньше числа слева, иначе False.
Примеры использования условных конструкций
Представим, что нам нужно написать программу для проверки, совершеннолетний пользователь или нет:
age = int(input('Введите ваш возраст: '))
if age >= 18:
print('Вы совершеннолетний.')
else:
print('Вы несовершеннолетний.')
Здесь мы создаём переменную age, которая спрашивает пользователя его возраст, и после того как пользователь ввёл свой возраст, то мы сразу переводим значение, введённое пользователем, в целое число с помощью функции int, в которую мы поместили input, так как input сам по себе возвращает строку, а сравнивать мы его должны как целое число. После того как мы его преобразовали, мы прогоняем значение переменной age сначала по условной конструкции с if, и если значение age больше или равно 18, то выводим в консоль строку 'Вы совершеннолетний.' и программа заканчивает своё выполнение, но если значение переменной какое-то иное, в нашем случае, если оно меньше 18, то выводим в консоль строку 'Вы несовершеннолетний.'.
Вот ещё один пример применения условных конструкций для проверки вводимого числа пользователем на чётность:
number = int(input('Введите число: '))
if number % 2 == 0:
print('Число четное.')
else:
print('Число нечетное.')
Здесь мы также просим пользователя ввести число, после ввода числа конвертируем строку, возвращаемую функцией input, в целое число с помощью функции int и ложим это значение в переменную number, и после прогоняем значение переменной number по условным конструкциям, также сначала проверяем в конструкции с if, тут мы с помощью математического оператора возвращения остатка от деления, если остаток от деления равен 0, это значит, что значение переменной number — чётное число, мы выводим в консоль строку 'Число чётное.', если же число нечётное, то мы выводим в консоль строку 'Число нечётное.'
Если вы не понимаете, как работает математический оператор возвращение остатка от деления, то советую прочитать мою статью, которая так и называется «Математические операции», там я объяснил принцип работы основных математических операторов в Python.
Также стоит упомянуть, что если пользователь введёт в input, который дальше по ходу программы конвертируется в целое число или число с плавающей точкой, что-то кроме числа, то будет выведена ошибка, так как Python попытается конвертировать строку в целое число или в число с плавающей точкой. Давайте рассмотрим это на примере:
number = int(input('Введите число: ')) # hello
if number % 2 == 0:
print('Число чётное.')
else:
print('Число нечётное.')
Если мы в этом коде введём не число, как нас просят, а строку, например 'hello', то будет выведена ошибка ValueError, в таких случаях следует ставить защиту, чтобы не происходило подобных ошибок.
Домашнее задание
Для лучшего закрепления материала, я предлагаю вам выполнить домашнее задание:
1. Напишите программу, которая запрашивает у пользователя число и проверяет, является ли оно положительным, отрицательным или нулем, и выводит это в консоль.
2. Разработайте программу, которая запрашивает у пользователя два числа, сравнивает их и выводит сообщение о том, какое из чисел больше или они равны.
Заключение
В этой статье я попытался до вас донести принцип работы основных условных операторов, узнали о операторах сравнения и разобрали всё это на примерах. Надеюсь, вы узнали что-то новое из данной статьи и сможете применить полученные знания в своих проектах. Не забудьте выполнить домашнее задание. Удачи в изучении Python!