Принимаем решения в программах с помощью if, elif и else
Условные операторы позволяют программе принимать решения и выполнять разные действия в зависимости от условий.
Блок кода после оператора if
выполняется только если условие истинно (True).
# Простой пример if
age = 15
if age >= 12:
print("Добро пожаловать в курс Python для 12-14 лет!")
print("Программа завершена")
else
позволяет выполнить код, если условие в if
ложно (False).
elif
(сокращение от "else if") позволяет проверять дополнительные условия.
# Пример с else и elif
score = 85
if score >= 90:
print("Отличная работа! Оценка 5")
elif score >= 70:
print("Хорошо! Оценка 4")
elif score >= 50:
print("Удовлетворительно. Оценка 3")
else:
print("Нужно подтянуть знания. Оценка 2")
print("Проверка завершена")
В условиях можно использовать различные операторы сравнения:
Оператор | Значение | Пример | Результат |
---|---|---|---|
== | равно | 5 == 5 | True |
!= | не равно | 5 != 3 | True |
> | больше | 5 > 3 | True |
< | меньше | 5 < 3 | False |
>= | больше или равно | 5 >= 5 | True |
<= | меньше или равно | 5 <= 3 | False |
# Примеры операторов сравнения
x = 10
y = 7
if x > y:
print("x больше y")
if x != y:
print("x не равно y")
if x % 2 == 0:
print("x четное число")
Для создания сложных условий используются логические операторы:
Оператор | Значение | Пример | Результат |
---|---|---|---|
and | И (оба условия истинны) | (5 > 3) and (2 < 4) | True |
or | ИЛИ (хотя бы одно условие истинно) | (5 > 3) or (2 > 4) | True |
not | НЕ (инвертирует условие) | not (5 > 3) | False |
# Примеры логических операторов
age = 13
grade = 8
if age >= 12 and grade >= 5:
print("Доступ разрешен")
if age < 10 or age > 15:
print("Не подходящий возраст")
if not (age == 12):
print("Вам не 12 лет")
Напишите программу, которая запрашивает у пользователя число и выводит:
- "Четное положительное", если число четное и больше 0
- "Нечетное положительное", если число нечетное и больше 0
- "Четное отрицательное", если число четное и меньше 0
- "Нечетное отрицательное", если число нечетное и меньше 0
- "Это ноль", если число равно 0
num = int(input("Введите число: "))
if num == 0:
print("Это ноль")
elif num > 0:
if num % 2 == 0:
print("Четное положительное")
else:
print("Нечетное положительное")
else:
if num % 2 == 0:
print("Четное отрицательное")
else:
print("Нечетное отрицательное")
Напишите программу, которая вычисляет индекс массы тела (ИМТ = вес / рост²) и выводит:
- "Недостаточный вес", если ИМТ < 18.5
- "Нормальный вес", если 18.5 ≤ ИМТ < 25
- "Избыточный вес", если 25 ≤ ИМТ < 30
- "Ожирение", если ИМТ ≥ 30
weight = float(input("Введите ваш вес (кг): "))
height = float(input("Введите ваш рост (м): "))
bmi = weight / (height ** 2)
if bmi < 18.5:
print(f"ИМТ: {bmi:.1f} - Недостаточный вес")
elif 18.5 <= bmi < 25:
print(f"ИМТ: {bmi:.1f} - Нормальный вес")
elif 25 <= bmi < 30:
print(f"ИМТ: {bmi:.1f} - Избыточный вес")
else:
print(f"ИМТ: {bmi:.1f} - Ожирение")
Напишите программу, которая запрашивает длины трех сторон и определяет:
- Может ли существовать треугольник с такими сторонами (сумма любых двух сторон больше третьей)
- Является ли треугольник равносторонним (все стороны равны)
- Является ли треугольник равнобедренным (две стороны равны)
- Является ли треугольник разносторонним (все стороны разные)
a = float(input("Введите первую сторону: "))
b = float(input("Введите вторую сторону: "))
c = float(input("Введите третью сторону: "))
if a + b > c and a + c > b and b + c > a:
print("Треугольник существует")
if a == b == c:
print("Треугольник равносторонний")
elif a == b or a == c or b == c:
print("Треугольник равнобедренный")
else:
print("Треугольник разносторонний")
else:
print("Треугольник не существует")