В этой статье рассмотрим базовые концепции управления потоком выполнения программы с помощью условных операторов.
Термины, которые будем использовать: условный оператор, операторы сравнения, логический тип данных, условие, вложенный блок кода.
Неполный условный оператор if
Условный оператор if (с англ: «если») в Python используется для выполнения определённого блока кода только в том случае, если заданное условие истинно.
Основная структура:
if условие:
блок кода
В качестве условия принимается любое выражение, которое возвращает True или False, то есть логический тип данных bool.
После условия ставится двоеточие, которое указывает интерпретатору на то, что далее будет описан блок кода для условного оператора.
Не забудь поставить отступы, когда описываешь вложенный блок кода, все строки должны находиться внутри.
Если условие истинно, то Python выполнит блок кода для истинного условия. В противном случае этот блок кода будет просто пропущен.
Например, программа:
n = int(input())
if n > 5:
print(n, “больше пяти”)
При n = 7 напечатает: 7 больше пяти, а при n = 0 завершится с нулевым кодом возврата (то есть без ошибок) и при этом на консоль выведено ничего не будет, так как условие оказалось ложным (0 не больше 5).
Полный условный оператор (if-else)
В отличие от неполного условного оператора, теперь в нашей структуре будет присутствовать слово else (с англ: «иначе»), которое определяет, что будет делать программа, если условие в if ложно.
Основная структура:
if условие:
первый блок кода
else:
второй блок кода
Например, программа:
n = int(input())
if n > 5:
print(n, “больше пяти”)
else:
print(n, “не больше пяти”)
При n = 7 напечатает: 7 больше пяти, а при n = 5 напечатает: 5 не больше пяти.
В выводе используется “не больше”, а не “меньше”, потому что утверждение 5 меньше 5 было бы неверным, но при этом при n = 5 срабатывает именно блок кода, помещенный в else. Как же исправить программу для большей точности и вариативности?
Конструкция if-elif-else
Слово elif (сокращение от “else if” — иначе если) позволяет проверить дополнительные условия, если предыдущие условия оказались ложными. Можно использовать несколько elif-блоков, чтобы проверить несколько условий.
! ВАЖНО !
При этом если одно из условий оказалось истинным, то блок кода в нём выполнится, и вся конструкция if-elif-else завершится, то есть дальнейшие проверки условий не осуществляются.
Основная структура:
if условие:
первый блок кода
elif условие_2:
второй блок кода
здесь может располагаться сколько угодно elif’ов
elif условие_N:
N-ный блок кода
else:
последний блок кода
Например, программа:
n = int(input())
if n > 5:
print(n, “больше пяти”)
elif n < 5:
print(n, “меньше пяти”)
else:
print(n, “равно пяти”)
Теперь при n = 5 мы получим надпись 5 равно пяти.
! ВАЖНО !
Можно составлять конструкции без else, используя if-elif.
Если нужно, чтобы данные прошли несколько разных проверок, для каждой из них нужно создавать собственный if, для того чтобы последующие условия были проверены вне зависимости от результатов предыдущих.
Например, для проверки, является ли входное число положительным или чётным, следующая программа не подойдёт:
n = int(input())
if n > 0:
print(“yes”)
elif n % 2 == 0:
print(“yes”)
При введении положительного числа, программа выведет yes и завершится, даже если оно было чётным в том числе.
Но можно сделать так:
n = int(input())
if n > 0:
print(“yes”)
if n % 2 == 0:
print(“yes”)
Тогда каждое условие будет проверено для числа n.
Давай вспомним основные операторы сравнения:
> строго больше
>= больше или равно
== равно (не путать с оператором присваивания, одинарным равно)
<= меньше или равно
< строго меньше
Практика
Задача 1: Проверка числа на чётность
Напиши программу, которая запрашивает у пользователя целое число. Если число четное, выведите сообщение 1. Если число нечетное, выведите сообщение 0.
num = int(input())
if num % 2 == 0:
print(1)
else:
print(0)
Задача 2: Проверка числа на чётность
Программа должна запросить у пользователя два целых числа, a и b.
Если a больше b, выведи 1.
Если a меньше b, выведи –1.
Если числа равны, выведи 0.
a = int(input())
b = int(input())
if a > b:
print(1)
elif a < b:
print(-1)
else:
print(0)
Задача 3: Проверка числа на чётность
Программа должна запросить у пользователя два целых числа, a и b.
Если a больше b, выведи 1.
Если a меньше b, выведи –1.
Если числа равны, выведи 0.
x = int(input())
if x > 0:
print(1)
elif x < 0:
print(-1)
else:
print(0)
Задача 4: Проверка числа на чётность
Программа запрашивает два числа: dividend (делимое) и divisor (делитель).
Вычисли остаток от деления dividend на divisor и выведи его.
Если остаток равен 0, выведи 0.
Если остаток больше 0, выведи 1.
Предполагается, что divisor не равен нулю.
dividend = int(input())
divisor = int(input())
remainder = dividend % divisor
if remainder == 0:
print(0)
else:
print(1)
Задача 5: Проверка числа на чётность
Пользователь вводит целое число.
Если число делится на 3, выведи 3.
Если число делится на 5, выведи 5.
Если число делится и на 3, и на 5, выведи 15.
Если число не делится ни на 3, ни на 5, выведи 0.
Примечание: Для проверки делимости используй остаток от деления.
num = int(input())
if num % 3 == 0:
if num % 5 == 0:
print(15)
else:
print(3)
elif num % 5 == 0:
print(5)
else:
print(0)
Автор:
Быкова Оксана, методист «100балльного репетитора» по информатике ЕГЭ