Войти
или
Зарегистрироваться
Курсы
Учебник
Учебник 2.0
ОГЭ/ЕГЭ
Олимпиады
Рубрикатор
Компилятор
Статья Автор:
Корельская Елена Юрьевна
Теория
Составные условия
При ветвлении в условном операторе необходимо указать условие. Напомним, синтаксис написания некоторых условий в Python
Условие
Запись условия на
Python
Число x положительное
x > 0
Число y неотрицательное
y >= 0
Число t отрицательное
t < 0
Число неотрицательное
q <= 0
Натуральное число a – двузначное
10 <= a <= 99
9 < a < 100
10 <= a < 100
9 < a<=99
Число b – отрицательное трехзначное
-999 <= b <= -100
-1000 < b < -99
-999 <= b<-99
-1000 < b <= -100
Число m делится нацело на 7
m % 7 == 0
Число d не делится на 13
d % 13 != 0
Число f четное
f % 2 == 0
f % 2 != 1
Число k нечетное
k % 2 == 1
k % 2 != 0
Число s заканчивается на цифру 4
s % 10 == 4
У числа z последние две цифры 53
Z % 100 == 53
Рассмотрим несколько решений одной задачи.
Задача: определите, является ли введенное целое число четным и трехзначным. Если является, вывести «+», в противном случае знак «-».
Решение 1.
a = int(input()) if a % 2 == 0: # проверка на четность if 100 <= a <= 999: # является ли число трехзначным print('+') else: print('-')
×
В данной программе один оператор
if
вложен в другой оператор
if
. Табуляция позволяет определить к какому из условных операторов
if
относится
else
.
Подумайте, при каких данных решение 1 будет выдавать верный ответ, а на каких – неверный.
Решение 2.
a = int(input()) if a % 2 == 0: # проверка на четность if 100 <= a <= 999: # является ли число трехзначным print('+') else: print('-')
×
Является ли такое решение верным? Придумайте пример, при котором программа будет работать не верно. Как изменить программный код, чтобы программа работала верно?
Решение 3.
a = int(input()) if a % 2 == 0: # проверка на четность if 100 <= a <= 999: # является ли число трехзначным print('+') else: print('-') else: print('-')
×
Решение 3 работает верно при любых целых числах. Это решение можно упростить, исключив вложенные условия, путём использования составных условий.
Решение 4.
a = int(input()) if (a % 2 == 0) and (100 <= a <= 999): # является ли число четным и трехзначным print('+') else: print('-')
×
Благодаря составному условию программа стала короче и более понятной.
Для создания составных условий используют логические операции and (и), or (или), not (не).
Операция
Описание
Пример
условие1 and условие2
оба условия выполняются одновременно
Число
x
четное и двузначное
(x % 2 == 0) and (9 < x < 100)
условие1 or условие2
выполняется хотя бы одно из условий
Число y делится на 3 или неотрицательно
(y % 3 == 0) or (y >= 0)
not условие1
отрицание условия
Число z не является трехзначным
not 100 <= z <= 999
Для создания сложного условия можно использовать несколько логических операций. При написании сложных условий нужно помнить о приоритете выполнения логических операций и отношений, для изменения порядка действий используются круглые скобки.
Приоритет операций:
Операции в скобках
Логические отношения >, <, >=, <=, ==, !=
Операция НЕ
Операция И
Операция ИЛИ
Чтобы оставить комментарий нужна авторизация
Печать