Решение 1. Упорядочить числа по возрастанию
num1 = int(input("Введите первое число: "))
num2 = int(input("Введите второе число: "))
num3 = int(input("Введите третье число: "))
if num1 < num2 < num3:
print("Числа упорядочены по возрастанию.")
else:
print("Числа не упорядочены по возрастанию.")
Логика: цепочное сравнение num1 < num2 < num3 истинно только тогда, когда каждое следующее число больше предыдущего. Это эквивалентно (num1 < num2) and (num2 < num3), но короче.
Решение 2. Большее число
num1 = int(input("Введите первое число: "))
num2 = int(input("Введите второе число: "))
if num1 > num2:
print(f"Большее число: {num1}")
elif num1 < num2:
print(f"Большее число: {num2}")
else:
print("Числа равны.")
Логика: сначала проверяем «больше», затем «меньше». Если ни то, ни другое не выполняется, числа равны. Обратите внимание: в PDF вместо значения переменной ошибочно выводилась строка "num1"; здесь использована f-string.
Решение 3. Определение чётности числа
num = int(input("Введите число: "))
# Обычный if-else
if num % 2 == 0:
print("Чётное")
else:
print("Нечётное")
# Тернарный оператор
result = "Чётное" if num % 2 == 0 else "Нечётное"
print(result)
Логика: остаток от деления на 2 равен 0 для чётных чисел и 1 для нечётных. Тернарный оператор позволяет выбрать строку в одну строку.
Решение 4. Категории возраста
age = int(input("Введите возраст: "))
if age < 12:
print("Вы ребёнок.")
elif age < 18:
print("Вы подросток.")
elif age < 60:
print("Вы взрослый.")
else:
print("Вы пожилой.")
Логика: благодаря elif проверки идут сверху вниз. Если возраст не меньше 12, переходим к следующей проверке. Граница 18 включается в «взрослый», потому что условие age < 18 для 18 ложно.
Решение 5. Существование треугольника
a = int(input("Введите первую сторону: "))
b = int(input("Введите вторую сторону: "))
c = int(input("Введите третью сторону: "))
if a + b > c and a + c > b and b + c > a:
print("Такой треугольник может существовать.")
else:
print("Такого треугольника не существует.")
Логика: для существования треугольника сумма любых двух сторон должна быть строго больше третьей. Все три условия объединены через and.
Решение 6. Пустая строка
text = input("Введите строку: ")
if text:
print("Строка не пуста.")
else:
print("Строка пуста.")
Логика: пустая строка в Python считается ложным значением (falsy). Условие if text: истинно для любой непустой строки.
Решение 7. Определение квадранта
x = float(input("Введите координату x: "))
y = float(input("Введите координату y: "))
if x > 0 and y > 0:
print("Точка находится в первом квадранте.")
elif x < 0 and y > 0:
print("Точка находится во втором квадранте.")
elif x < 0 and y < 0:
print("Точка находится в третьем квадранте.")
elif x > 0 and y < 0:
print("Точка находится в четвёртом квадранте.")
else:
print("Точка находится на одной из осей.")
Логика: знаки координат определяют квадрант. Если хотя бы одна координата равна нулю, точка попадает на ось — этот случай обрабатывает else.
Решение 8. Допустимые значения времени
hours = int(input("Введите часы: "))
minutes = int(input("Введите минуты: "))
if 0 <= hours < 24 and 0 <= minutes < 60:
print("Корректное время.")
else:
print("Некорректное время.")
Логика: цепочные сравнения 0 <= hours < 24 и 0 <= minutes < 60 проверяют диапазон. Оператор and требует истинности обоих условий.
Решение 9*. Знак произведения
a = int(input("Введите первое число: "))
b = int(input("Введите второе число: "))
c = int(input("Введите третье число: "))
negative_count = (a < 0) + (b < 0) + (c < 0)
if negative_count % 2 == 0:
print("Произведение положительное.")
else:
print("Произведение отрицательное.")
Логика: произведение положительно, когда количество отрицательных множителей чётное (0 или 2). В Python True == 1 и False == 0, поэтому сумма булевых значений равна количеству отрицательных чисел.
Решение 10. Расчёт налога
income = float(input("Введите доход: "))
if income <= 10000:
tax = income * 0.05
elif income <= 50000:
tax = 10000 * 0.05 + (income - 10000) * 0.10
else:
tax = 10000 * 0.05 + 40000 * 0.10 + (income - 50000) * 0.20
net_income = income - tax
print(f"Налог: {tax}")
print(f"Итоговая сумма после уплаты налога: {net_income}")
Логика: налог считается по градиентной шкале. Для дохода 45,000: 5% с первых 10,000 = 500, 10% с оставшихся 35,000 = 3,500. Итого 4,000, а не 4,500, как в PDF. Возможно, в PDF допущена опечатка; формула выше соответствует условию задачи.
10000 * 0.05 + 35000 * 0.10 = 500 + 3500 = 4000. Мы придерживаемся логики условия, а не опечатки в примере.
Решение 11. Проверка экстремальной погоды
temperature = float(input("Введите температуру: "))
wind_speed = float(input("Введите скорость ветра: "))
precipitation = float(input("Введите уровень осадков: "))
extreme = (
(temperature < -10 and wind_speed > 20)
or temperature > 35
or precipitation > 50
)
if extreme:
print("Предупреждение: экстремальная погода!")
else:
print("Погода в пределах нормы.")
Логика: сложное условие разбито на промежуточную переменную extreme. Это улучшает читаемость и облегчает отладку. Можно было записать и в одну строку внутри if, но именованная переменная делает намерение явным.