Язык 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.
Також можна трохи оптимізувати код, щоб він був зрозуміліший. Ось правильна версія:
Pythondef area_tr(a, b):
# Обчислюємо площу прямокутного трикутника
ans = a * b / 2
return ans # повертаємо результат функції
# Викликаємо функцію і друкуємо результат
print(area_tr(4, 5))
Що змінилось і чому тепер правильно:
-
Використано
return ansзамістьprint(ans)всередині функції. Тепер функція повертає результат, а не просто друкує його. -
При виклику
print(area_tr(4, 5))ми друкуємо саме площу, яку повернула функція. -
Зміна
ans = int(ans)не обов’язкова — вона перетворює результат на ціле число. Якщо хочете залишити десяткові дроби, можна її прибрати.
При такому коді для катетів 4 і 5 програма виведе:
10.0
Якщо хочете ціле число:
Pythondef area_tr(a, b):
ans = a * b // 2 # використання // для цілочисельного ділення
return ans
print(area_tr(4, 5))
Тоді результат буде 10.
Хоча в оригінальному коді арифметика була правильною (a * b / 2), проблема була саме в виклику функції і print.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

