Условный оператор if в Python
В этом уроке вы узнаете, как использовать оператор if в Python для выполнения блока кода на основе условия с примерами конструкций.
- Простой оператор if в Python
- Оператор Python if…else
- Использование оператора if…elif…else в Python
- Заключение
Простой оператор if в Python
Синтаксис оператора if следующий:
if condition: if-block
Оператор if сначала проверяет условие.
Если условие оценивается как True, оно выполняет утверждения в блоке if. В противном случае он игнорирует данные утверждения.
Обратите внимание, что двоеточие(:), которое следует за условием, очень важно. Если вы забудете о нем, то получите синтаксическую ошибку.
Следующая блок-схема иллюстрирует оператор if:
Пример:
age = input('Enter your age:') if int(age) >= 18: print("You're eligible to vote.")
В этом примере вам предлагается ввести свой возраст. Если вы введете число, большее или равное 18, на экране появится сообщение «You’re eligible to vote» (Вы имеете право голосовать). В противном случае он ничего не делает.
Условие int(age) >= 18 преобразует входную строку в целое число и сравнивает ее с 18.
Enter your age:18 You're eligible to vote.
См. следующий пример:
age = input('Enter your age:') if int(age) >= 18: print("You're eligible to vote.") print("Let's go and vote.")
В этом примере, если вы введете число, большее или равное 18, вы увидите два сообщения. Отступы очень важны. Любой оператор, следующий за оператором if, должен содержать четыре пробела.
Если вы неправильно используете отступы, программа будет работать по-другому. Например:
age = input('Enter your age:') if int(age) >= 18: print("You're eligible to vote.") print("Let's go and vote.")
В этом примере последний оператор всегда выполняется независимо от условия в операторе if. Причина в том, что он не принадлежит блоку if:
Enter your age:11 Let's go and vote.
Оператор Python if…else
Обычно требуется выполнить действие, когда условие истинно, и другое действие, когда условие ложно. Для этого вы используете оператор if…else.
Ниже показан синтаксис оператора if…else:
if condition: if-block; else: else-block;
В этом синтаксисе if…else выполнит блок if, если условие примет значение True. В противном случае он выполнит блок else.
Следующая блок-схема иллюстрирует оператор if..else:
Следующий пример показывает, как использовать оператор if…else:
age = input('Enter your age:') if int(age) >= 18: print("You're eligible to vote.") else: print("You're not eligible to vote.")
В этом примере, если вы укажете свой возраст меньше 18, вы увидите сообщение «You’re not eligible to vote» (Вы не имеете права голосовать). Так:
Enter your age:11 You're not eligible to vote.
Использование оператора if…elif…else в Python
Если вы хотите проверить несколько условий и выполнить соответствующее действие, вы можете использовать оператор if…elif…else. elif означает «еще если».
Вот синтаксис оператора if…elif…else:
if if-condition: if-block elif elif-condition1: elif-block1 elif elif-condition2: elif-block2 ... else: else-block
Оператор if…elif…else проверяет каждое условие (if-condition, elif-condition1, elif-condition2, …) в том порядке, в котором они появляются в операторе, пока не найдет то, которое имеет значение True.
Когда оператор if…elif…else находит такое условие, он выполняет оператор, следующий за условием, и пропускает проверку остальных условий. Если ни одно из условий не имеет значения True, оператор if…elif…else выполняет оператор в ветви else.
Обратите внимание, что блок else является необязательным. Если вы опустите его и ни одно условие не станет истинным, оператор ничего не сделает.
Следующая блок-схема иллюстрирует оператор if…elif…else:
В следующем примере используется оператор if…elif..else для определения цены билета в зависимости от возраста:
age = input('Enter your age:') # convert the string to int your_age = int(age) # determine the ticket price if your_age < 5: ticket_price = 5 elif your_age < 16: ticket_price = 10 else: ticket_price = 18 # show the ticket price print(f"You'll pay ${ticket_price} for the ticket")
В этом примере:
- Если введенный возраст меньше 5 лет, цена билета составит 5 долларов.
- Если введенный возраст больше или равен 5 и меньше 16 лет, цена билета составляет 10 долларов США.
- В противном случае цена билета составит 18 долларов.
Заключение
- Используйте оператор if, если хотите запустить блок кода на основе условия.
- Оператор if…else, если хотите запустить другой блок кода, если условие не истинно.
- Использование оператора if…elif…else целесообразно, если вы хотите проверить несколько условий и запустить соответствующий блок кода, следующий за условием, которое оценивается как True.