💻 Рабочие примеры

⚡ Кратко

Примеры охватывают возрастную категорию, сортировку трёх чисел, проверку високосного года, математическое округление и гипотенузу. Все программы запрашивают ввод и выводят результат.

Пример 1. Возрастная категория

📄 examples/age_category.py
age = int(input("Введите ваш возраст: "))

if age <= 2:
    category = "Младенец"
elif age <= 12:
    category = "Ребёнок"
elif age <= 17:
    category = "Подросток"
else:
    category = "Взрослый"

print(f"Категория: {category}.")
💡 Пояснение: цепочка if-elif-else проверяет возраст от меньшего к большему. Благодаря порядку условий достаточно проверить верхнюю границу каждой категории.

Пример 2. Сортировка трёх чисел

📄 examples/sort_three.py
a = int(input("Первое число: "))
b = int(input("Второе число: "))
c = int(input("Третье число: "))

# Простой способ через встроенную сортировку
sorted_numbers = sorted([a, b, c])
print(", ".join(str(n) for n in sorted_numbers))
💡 Пояснение: функция sorted() возвращает отсортированный список. Для учебных целей полезно также попробовать решить эту задачу вручную через сравнения.

Пример 3. Високосный год

📄 examples/leap_year.py
year = int(input("Введите год: "))

is_leap = (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0)

if is_leap:
    print(f"{year} год является високосным.")
else:
    print(f"{year} год не является високосным.")
💡 Пояснение: год високосный, если делится на 4, но не на 100, либо делится на 400. Логическое выражение записано в одну переменную для лучшей читаемости.

Пример 4. Математическое округление

📄 examples/math_rounding.py
import math

x = float(input("Введите вещественное число: "))

# Отбрасываем дробную часть
frac = x - int(x)

if x >= 0:
    result = math.ceil(x) if frac >= 0.5 else math.floor(x)
else:
    result = math.floor(x) if frac <= -0.5 else math.ceil(x)

print(f"Округленное значение: {result}")
💡 Пояснение: в отличие от round(), математическое округление всегда идёт от нуля при дробной части 0.5. Для отрицательных чисел используем math.floor, для положительных — math.ceil.

Пример 5. Гипотенуза треугольника

📄 examples/hypotenuse.py
import math

a = float(input("Введите длину первого катета: "))
b = float(input("Введите длину второго катета: "))

hypotenuse = math.sqrt(a ** 2 + b ** 2)
print(f"Длина гипотенузы: {hypotenuse}")
💡 Пояснение: теорема Пифагора: c² = a² + b². Модуль math даёт функцию sqrt() для извлечения корня.

Пример 6. Скидки по количеству

📄 examples/quantity_discount.py
price = float(input("Введите цену товара: "))
quantity = int(input("Введите количество: "))

if quantity >= 100:
    discount = 0.20
elif quantity >= 50:
    discount = 0.15
elif quantity >= 20:
    discount = 0.10
elif quantity >= 10:
    discount = 0.05
else:
    discount = 0.0

total = price * quantity * (1 - discount)
print(f"Итоговая сумма: {total:.2f}")
💡 Пояснение: условия проверяются от большего количества к меньшему. Первое подходящее условие определяет скидку. Формат :.2f выводит два знака после запятой.

Пример 7. match-case для HTTP-статусов

📄 examples/http_status.py
status = int(input("Введите HTTP-статус: "))

match status:
    case 200:
        message = "OK"
    case 400:
        message = "Bad Request"
    case 401 | 403 | 404:
        message = "Client Error"
    case 500 | 502 | 503:
        message = "Server Error"
    case _:
        message = "Unknown"

print(message)
Проверить по документации: match-case доступен с Python 3.10. Убедитесь, что ваша версия Python поддерживает эту конструкцию.