Площадь треугольника по формуле Герона на Питоне
На языке программирования Питон можно решить много разных задач, в том числе и по математике. Для начинающих изучать этот язык будет полезно решить задание на вычисление площади треугольника. Одним из способов вычисления этой величины является применение формулы Герона.
Математическая часть задачи
Из школьного курса математики вы знаете, что площадь треугольника можно вычислить по данным длинам трёх его сторон по формуле Герона:


p – полупериметр треугольника.
Решение задачи на Питоне
На вход программе подаются целые числа, выводом программы должно являться вещественное число, соответствующее площади треугольника.
Для ввода целых чисел используем функцию int() .
Для решения задачи нам необходимо подключить библиотеку с математическими функциями. Делаем это с помощью строки импорта:
import math
Функция для извлечения квадратного корня в этой библиотеке записывается так:
Код программы для вычисления площади треугольника
import math #подключаем библиотеку математических функций
a=int(input(«Введите сторону a brush: py»>
Python 3.5.2 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on Linux
12
13
14
72.30793524918272
Второй вариант решения задачи
Также можно воспользоваться стандартной функцией возведения числа в степень. Дело в том, что квадратный корень — это возведение в степень 1/2.
Синтаксис функции такой:
где x — число, возводимое в степень, а y — сама степень.
Вот так это запишется по формуле:
s=pow((p*(p-a)*(p-b)*(p-c)),1/2)
Результат выполнения кода:
Python 3.5.2 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on linux
12
13
14
72.30793524918272
Третий вариант решения задачи
Вместо извлечения корня можно возвести в степень 1/2 или 0,5 . При этому функцию использовать не нужно.
s=(p*(p-a)*(p-b)*(p-c))**0.5
Как видим, результат выполнения программы точно такой же.
Python 3.5.2 (default, Dec 2015, 13:05:11)
[GCC 4.8.2] on linux
12
13
14
72.30793524918272
© 2013-2020 Информатика. Полезные материалы по информационным технологиям. Использование материалов без активной ссылки на сайт запрещено! Публикация в печати только с письменного разрешения администрации.
Найти площадь прямоугольника, треугольника или круга
В зависимости от того, что выберет пользователь, вычислить площадь либо прямоугольника, либо треугольника, либо круга. Если выбраны прямоугольник или треугольник, то надо запросить длины сторон, если круг, то его радиус.
Решение задачи на языке программирования Python
Площадь треугольника вычисляется по формуле Герона:
![]()
, где p — это полупериметр, a , b , c — длины сторон. Полупериметр равен половине периметра, то есть половине суммы сторон.
Площадь прямоугольника равна произведению его двух сторон (длины и ширины). Площадь круга вычисляется по формуле S = πr 2 .
from math import sqrt, pi print("1-прямоугольник, 2-треугольник, 3-круг") figure = input("Выберите фигуру: ") if figure == '1': print("Длины сторон прямоугольника:") a = float(input("a = ")) b = float(input("b = ")) print("Площадь: %.2f" % (a * b)) elif figure == '2': print("Длины сторон треугольника:") a = float(input("a = ")) b = float(input("b = ")) c = float(input("c = ")) p = (a + b + c) / 2 s = sqrt(p * (p - a) * (p - b) * (p - c)) print("Площадь: %.2f" % s) elif figure == '3': r = float(input("Радиус круга R = ")) print("Площадь: %.2f" % (pi * r ** 2)) else: print("Ошибка ввода")
Пример выполнение программы:
1-прямоугольник, 2-треугольник, 3-круг Выберите фигуру: 2 Длины сторон треугольника: a = 4 b = 5 c = 6 Площадь: 9.92
Начиная с версии 3.10, в Python имеется оператор match . Вариант решения задачи с его помощью будет выглядеть так:
from math import sqrt, pi print("1-прямоугольник, 2-треугольник, 3-круг") figure = input("Выберите фигуру: ") match figure: case '1': print("Длины сторон прямоугольника:") a = float(input("a = ")) b = float(input("b = ")) print("Площадь: %.2f" % (a * b)) case '2': print("Длины сторон треугольника:") a = float(input("a = ")) b = float(input("b = ")) c = float(input("c = ")) p = (a + b + c) / 2 s = sqrt(p * (p - a) * (p - b) * (p - c)) print("Площадь: %.2f" % s) case '3': r = float(input("Радиус круга R = ")) print("Площадь: %.2f" % (pi * r ** 2)) case _: print("Ошибка ввода")
X Скрыть Наверх
Решение задач на Python
Как найти площадь прямоугольного треугольника на питоне
Условие: Напишите программу, которая считывает длину основания и высоту прямоугольного треугольника и печатает область. Каждое число дается в отдельной строке.
a = int(input()) b = int(input()) print(a * b / 2)
В этом решении необходимо ввести две переменные и присвоить им значение int(input()), чтобы были введены целые числа. Дальше по формуле (a * b) / 2 мы находим площадь прямоугольного треугольника и выводим её через команду print().
0 3 810 просмотров
Понравилась статья? Поделиться с друзьями:
Площадь треугольника
Короче нужна помощь с кодом, ниже будет задача(что нужно сделать) и мой код(div find_area, видете ли не подходит, и нужно все сделать не через while, а через for)
Задача:
Имеется серия измерений элементов треугольника. Группы
элементов пронумерованы. В серии в произвольном порядке могут
встречаться такие группы элементов треугольника:
1) основание и высота;
2) две стороны и угол между ними (угол задан в радианах);
3) три стороны.
Разработать программу, которая запрашивает номер группы элементов, вводит соответствующие элементы и вычисляет площадь треугольника. Вычисления прекратить, если в качестве
номера группы введен 0.
Код:
1 2 3 4 5 6 7
def find_area(): h = int(input("Введите высоту элемента треугольника: ")) b = int(input("Введите основание треугольного элемента: ")) a = int(input("Введите угол элемента треугольника: ")) print("Площадь треугольника: " + str(b * h / 2 * a / 180)) while True: find_area()
Добавлено через 1 минуту
Куда здесь можно впихать «for» убрав «while», а также убрать div find_area если без этого мой код не работает
Лучшие ответы ( 1 )
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:
По длинам двух сторон некоторого треугольника и углу между ними найти длину третьей стороны и площадь этого треугольника
По длинам двух сторон некоторого треугольника и углу между ними найти длину третьей стороны и.
Площадь ТРЕУГОЛЬНИКА
Задача №1 1. Написать функцию нахождения площади ТРЕУГОЛЬНИКА и проверить является ли треугольник.
Вычислить площадь треугольника
Вычислить площадь треугольника со сторонами k и прилежащими углами a и b.
Am I evil? Yes, I am!
![]()
![]()
16120 / 9755 / 2731
Регистрация: 21.10.2017
Сообщений: 21,624
Сообщение от kenyasha 
Куда здесь можно впихать «for» убрав «while»
1. Убрать 6-7 строки
2. Вместо def поставить for
3. Profit!
Ваш кэп
Регистрация: 04.02.2023
Сообщений: 5
выдает ошибку, типо «неверный синтаксис», или я вас не так понял
1 2 3 4 5
for find_area(): h = int(input("Введите высоту элемента треугольника: ")) b = int(input("Введите основание треугольного элемента: ")) a = int(input("Введите угол элемента треугольника: ")) print("Площадь треугольника: " + str(b * h / 2 * a / 180))
Am I evil? Yes, I am!
![]()
![]()
16120 / 9755 / 2731
Регистрация: 21.10.2017
Сообщений: 21,624
Сообщение от kenyasha 
for find_area():
Добавлено через 19 секунд
Ты не знаешь, как цикл for пишется?
Регистрация: 04.02.2023
Сообщений: 5
К сожалению — не знаю, в Python я не просвещен, но для колледжа нужно)
Am I evil? Yes, I am!
![]()
![]()
16120 / 9755 / 2731
Регистрация: 21.10.2017
Сообщений: 21,624
for i in range(3):
Регистрация: 04.02.2023
Сообщений: 5
Спасибо вам большое!
Регистрация: 04.02.2023
Сообщений: 5
Нужна помощь с кодом, ниже будет задача(что нужно сделать) и мой код, который к сожалению не работает, не могли бы Вы мне помочь?
Задача:
Имеется серия измерений элементов треугольника. Группы
элементов пронумерованы. В серии в произвольном порядке могут
встречаться такие группы элементов треугольника:
1) основание и высота;
2) две стороны и угол между ними (угол задан в радианах);
3) три стороны.
Разработать программу, которая запрашивает номер группы элементов, вводит соответствующие элементы и вычисляет площадь треугольника. Вычисления прекратить, если в качестве
номера группы введен 0.
Мой код:
1 2 3 4 5 6 7 8 9 10 11 12
for i in range(3): print("Введите номер группы: ") p = str(input()); if p == '1' : h = int(input("Введите основание и высоту этого треугольника: ")) print("Площадь треугольника: " + str(b * h / 2 * a / 180)) elif p == '2' : b = int(input("Введите две стороны и угол между ними: ")) print("Площадь треугольника: " + str(b * h / 2 * a / 180)) elif p == '3' : a = int(input("Введите три стороны: ")) print("Площадь треугольника: " + str(b * h / 2 * a / 180))
