📋 Формулировка задания
Исходное задание из LMS:
-
Математическое округление. Введите вещественное число и округлите его до целого по школьным правилам: 2.5 → 3, −2.5 → −3. Не используйте встроенную функцию
round().Введите число: 2.5 3 Введите число: -2.5 -3 -
Гипотенуза треугольника. Введите два катета и выведите длину гипотенузы.
Введите первый катет: 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:
- Сохраните файл.
- В терминале запустите:
python homework_round.py. - Проверьте значения: 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:
- Сохраните файл.
- Запустите:
python homework_hypotenuse.py. - Проверьте: катеты 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}")
🧪 Как проверить решение
- Активируйте venv:
venv\Scriptsctivate(Windows) илиsource venv/bin/activate(Mac/Linux). - Запустите
python homework_round.pyи проверьте крайние случаи: 0.5, −0.5, 0.0. - Запустите
python homework_hypotenuse.pyи проверьте «пифагоровы тройки». - Убедитесь, что программа не падает при вводе положительных чисел.
🐛 Отладка в VS Code
Если что-то не работает:
- Поставьте точку останова (breakpoint) на строке с условием.
- Нажмите F5 или выберите «Run → Start Debugging».
- В панели Debug смотрите значения переменных
absolute,fractional_part,a,b. - Проверьте Terminal на наличие traceback — Python показывает номер строки с ошибкой.
💡 Советы и типичные ошибки
- Не забудьте преобразовать ввод
input()в число черезfloat()илиint(). - В задании про округление знак числа важен: −2.5 должно стать −3, а не −2.
- В задании про гипотенузу используйте
math.sqrt(), а не** 0.5— так код читается явнее.