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

⚡ Суть задания

Два задания из LMS: реализовать школьное математическое округление без встроенного round() и найти длину гипотенузы по двум катетам.

Результат: два файла homework_round.py и homework_hypotenuse.py.

📋 Формулировка задания

Исходное задание из LMS:

  1. Математическое округление. Введите вещественное число и округлите его до целого по школьным правилам: 2.5 → 3, −2.5 → −3. Не используйте встроенную функцию round().
    Введите число: 2.5
    3
    
    Введите число: -2.5
    -3
  2. Гипотенуза треугольника. Введите два катета и выведите длину гипотенузы.
    Введите первый катет: 3
    Введите второй катет: 4
    Гипотенуза: 5.0

🔧 Шаг 0. Подготовка окружения

Перед началом работы настройте рабочую папку для текущего урока.

1

Создайте папку для урока

# В терминале VS Code (Ctrl + `):
mkdir -p python-fundamentals-practice/lesson-10
cd python-fundamentals-practice/lesson-10
2

Создайте виртуальное окружение (опционально)

# Windows
python -m venv venv
venv\Scriptsctivate

# Mac / Linux
python3 -m venv venv
source venv/bin/activate

🛠️ Шаги выполнения задания

1

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

Создайте файл homework_round.py и реализуйте округление до целого «от нуля».

# homework_round.py
import math

value = float(input("Введите число: "))
sign = 1 if value >= 0 else -1
absolute = abs(value)
integer_part = math.floor(absolute)
fractional_part = absolute - integer_part

if fractional_part >= 0.5:
    result = sign * math.ceil(absolute)
else:
    result = sign * math.floor(absolute)

print(result)

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

  1. Сохраните файл.
  2. В терминале запустите: python homework_round.py.
  3. Проверьте значения: 2.5 → 3, 2.4 → 2, −2.5 → −3, −2.4 → −2.
2

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

Создайте файл homework_hypotenuse.py и найдите гипотенузу по теореме Пифагора.

# homework_hypotenuse.py
import math

a = float(input("Введите первый катет: "))
b = float(input("Введите второй катет: "))

c = math.sqrt(a ** 2 + b ** 2)
print(f"Гипотенуза: {c}")

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

  1. Сохраните файл.
  2. Запустите: python homework_hypotenuse.py.
  3. Проверьте: катеты 3 и 4 → гипотенуза 5.0; катеты 5 и 12 → 13.0.

✅ Полное решение

Ниже приведены оба файла целиком.

📄 homework_round.py
import math

value = float(input("Введите число: "))
sign = 1 if value >= 0 else -1
absolute = abs(value)
integer_part = math.floor(absolute)
fractional_part = absolute - integer_part

if fractional_part >= 0.5:
    result = sign * math.ceil(absolute)
else:
    result = sign * math.floor(absolute)

print(result)
📄 homework_hypotenuse.py
import math

a = float(input("Введите первый катет: "))
b = float(input("Введите второй катет: "))

c = math.sqrt(a ** 2 + b ** 2)
print(f"Гипотенуза: {c}")

🧪 Как проверить решение

  1. Активируйте venv: venv\Scriptsctivate (Windows) или source venv/bin/activate (Mac/Linux).
  2. Запустите python homework_round.py и проверьте крайние случаи: 0.5, −0.5, 0.0.
  3. Запустите python homework_hypotenuse.py и проверьте «пифагоровы тройки».
  4. Убедитесь, что программа не падает при вводе положительных чисел.

🐛 Отладка в VS Code

Если что-то не работает:

  1. Поставьте точку останова (breakpoint) на строке с условием.
  2. Нажмите F5 или выберите «Run → Start Debugging».
  3. В панели Debug смотрите значения переменных absolute, fractional_part, a, b.
  4. Проверьте Terminal на наличие traceback — Python показывает номер строки с ошибкой.

💡 Советы и типичные ошибки

  • Не забудьте преобразовать ввод input() в число через float() или int().
  • В задании про округление знак числа важен: −2.5 должно стать −3, а не −2.
  • В задании про гипотенузу используйте math.sqrt(), а не ** 0.5 — так код читается явнее.