🏠 Домашнее задание

⚡ Домашнее задание в двух словах

  • Сортировка трёх чисел.
  • Проверка високосного года.
  • Математическое округление.
  • Вычисление гипотенузы.

Все задачи используют условия и математические функции.

📋 Текст заданий из LMS

Задание 1. Сортировка чисел

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

Задание 2. Високосный год

Напишите программу, которая запрашивает у пользователя год и проверяет, является ли он високосным. Год является високосным, если он делится на 4 без остатка, и в то же время не делится на 100 без остатка. При этом если год делится на 400 без остатка, он тоже является високосным. Выведите соответствующее сообщение на экран с помощью функции print.

Задание 3. Математическое округление

Напишите программу, которая принимает число с плавающей точкой и округляет его до целого числа в соответствии с правилами школьной математики, а не банковского округления. Программа должна корректно работать как с положительными, так и с отрицательными числами.

Пример вывода:

Введите вещественное число: 2.5
Округленное значение: 3

Введите вещественное число: -2.5
Округленное значение: -3

Задание 4. Гипотенуза треугольника

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

Пример вывода:

Введите длину первого катета: 3
Введите длину второго катета: 4
Длина гипотенузы: 5.0

🛠️ Подготовка окружения в VS Code

  1. Создайте папку для домашнего задания: python-fundamentals-homework/lesson-11/.
  2. Откройте папку в VS Code: File → Open Folder....
  3. Создайте файлы для каждого задания:
    • hw_01_sort.py
    • hw_02_leap_year.py
    • hw_03_rounding.py
    • hw_04_hypotenuse.py
  4. Убедитесь, что Python установлен: python --version в терминале VS Code.

✅ Пошаговое решение

Задание 1. Сортировка чисел

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

# Ручная сортировка через попарные сравнения
if a > b:
    a, b = b, a
if b > c:
    b, c = c, b
if a > b:
    a, b = b, a

print(f"{a}, {b}, {c}")
💡 Проверка: введите 7, 2, 5 → должно получиться 2, 5, 7.

Задание 2. Високосный год

📄 hw_02_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} год не является високосным.")
💡 Проверка: 2024 — високосный; 1900 — не високосный; 2000 — високосный.

Задание 3. Математическое округление

📄 hw_03_rounding.py
import math

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

fraction = abs(x - int(x))

if x >= 0:
    result = math.ceil(x) if fraction >= 0.5 else math.floor(x)
else:
    result = math.floor(x) if fraction >= 0.5 else math.ceil(x)

print(f"Округленное значение: {result}")
💡 Проверка: 2.5 → 3, 2.4 → 2, -2.5 → -3, -2.4 → -2.

Задание 4. Гипотенуза

📄 hw_04_hypotenuse.py
import math

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

hypotenuse = math.sqrt(a ** 2 + b ** 2)
print(f"Длина гипотенузы: {hypotenuse}")
💡 Проверка: 3 и 45.0; 5 и 1213.0.

🔍 Проверка в VS Code

  1. Откройте терминал VS Code: Ctrl + `.
  2. Запустите программу: python hw_01_sort.py.
  3. Введите тестовые данные и сравните результат с ожидаемым.
  4. Если возникла ошибка, проверьте:
    • преобразование input() в число;
    • отступы в блоках if;
    • импорт math в задачах 3 и 4.