Вопрос задан 11.06.2026 в 23:22. Предмет Информатика. Спрашивает Аглямова Ангелина.

Язык Python. Виправ помилки. Програма повинна вивести площу прямокутного трикутника з заданими катетами. Чому вона повертає неправильне число? Знайди і виправ всі помилки. Код: def area_tr(a, b): ans = a * b ans = ans / 2 ans = int(ans) print(area_tr(4, 5))

Перейти к ответам

Ответы на вопрос

Отвечает Борисенков Марат.

Судячи з коду, головна причина, чому програма повертає неправильне число або None, полягає в тому, що функція area_tr нічого не повертає (return), а лише робить print всередині себе. А потім ви робите print(area_tr(4, 5)), що насправді друкує результат виклику функції, а оскільки функція не повертає значення, друкується None.

Також можна трохи оптимізувати код, щоб він був зрозуміліший. Ось правильна версія:

Python
def area_tr(a, b):
# Обчислюємо площу прямокутного трикутника
ans = a * b / 2
return ans # повертаємо результат функції

# Викликаємо функцію і друкуємо результат
print(area_tr(4, 5))

Що змінилось і чому тепер правильно:

  1. Використано return ans замість print(ans) всередині функції. Тепер функція повертає результат, а не просто друкує його.

  2. При виклику print(area_tr(4, 5)) ми друкуємо саме площу, яку повернула функція.

  3. Зміна ans = int(ans) не обов’язкова — вона перетворює результат на ціле число. Якщо хочете залишити десяткові дроби, можна її прибрати.

При такому коді для катетів 4 і 5 програма виведе:

10.0

Якщо хочете ціле число:

Python
def area_tr(a, b):
ans = a * b // 2 # використання // для цілочисельного ділення
return ans

print(area_tr(4, 5))

Тоді результат буде 10.

Хоча в оригінальному коді арифметика була правильною (a * b / 2), проблема була саме в виклику функції і print.

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос