Решение задания 1: знак числа
number = int(input("Введите число: "))
if number > 0:
print("Число положительное.")
elif number < 0:
print("Число отрицательное.")
else:
print("Число равно нулю.")
Логика решения: цепочка if-elif-else проверяет три взаимоисключающих варианта. Поскольку число не может быть одновременно больше и меньше нуля, такая конструкция идеально подходит.
Решение задания 2: стоимость билета
ticket_type = input("Введите тип билета (стандартный/vip): ")
age = int(input("Введите возраст: "))
# Базовая цена по типу билета
if ticket_type == "vip":
price = 3000
else:
price = 1000
# Применение скидок
if age < 12:
price *= 0.50
elif age > 60 and ticket_type == "стандартный":
price *= 0.70
print("Стоимость билета:", price)
Логика решения: базовая цена выбирается первым if-else. Скидки — отдельным блоком, где elif гарантирует, что скидка для пожилых не наложится на детскую: если возраст меньше 12, проверка age > 60 уже не выполнится. Обратите внимание, что для VIP пожилые не получают скидку, потому что условие требует ticket_type == "стандартный".
Решение задания 3: время года (★ продвинутое)
month = int(input("Введите номер месяца: "))
match month:
case 12 | 1 | 2:
print("Зима")
case 3 | 4 | 5:
print("Весна")
case 6 | 7 | 8:
print("Лето")
case 9 | 10 | 11:
print("Осень")
case _:
print("Некорректный номер месяца")
Логика решения: match-case сравнивает одну переменную с несколькими группами значений. Оператор | объединяет варианты внутри одного шаблона, а _ обрабатывает всё остальное. Это решение работает только в Python 3.10+.