Mail.ruПочта0Мой Мир0ОдноклассникиВКонтактеИгры0ЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Сделать программу в Python

SissRopp Профи (511), закрыт 1 год назад
Известны длины сторон треугольника a, b, c.
Напишите программу, вычисляющую площадь этого треугольника. Все числовые данные брать любые, но не забывать указывать тип.
Лучший ответ
Ксения Райт Высший разум (108486) 2 года назад
С проверкой данных:
 import fractions, math 
def f(x):
intx = int(x)
return intx if intx == x else x
try:
a, b, c = map(fractions.Fraction, input('a b c: ').split())
if a<=0 or b<=0 or c<=0 or a+b<=c or b+c<=a or c+a<=b:
print('Треугольника с такими сторонами не существует !')
else:
p = (a + b + c) / 2
S = p * (p - a) * (p - b) * (p - c)
print(f(math.sqrt(float(S))))
except: pass
При вводе данных типа fractions.Fraction стороны можно задавать и как бы целым числом, и как 3.14, и как, например, 2/3, или ещё так 1.234e2. Существует ли треугольник с такими сторонами узнаётся абсолютно точно.
Остальные ответы
Милана Просветленный (34707) 2 года назад
напишем программу в Python:

a = 20 # int
b = 30 # int
c = 25 # int

p = (a + b + c) / 2 # вычисляем полупериметр

s = (p * (p - a) * (p - b) * (p - c)) ** 0.5 # вычисляем площадь по формуле Герона

print(f"Площадь треугольника с сторонами a = {a}, b = {b}, c = {c} равна {s} кв. ед. ")
# вывод результата

output:
Площадь треугольника с сторонами a = 20, b = 30, c = 25 равна 150.0 кв. ед.
Bils Bobbils Гуру (3064) 2 года назад
 a = 5.2 # длина стороны a 
b = 6.7 # длина стороны b
c = 8.1 # длина стороны c

# вычисляем полупериметр
s = (a + b + c) / 2

# вычисляем площадь по формуле Герона
S = (s * (s - a) * (s - b) * (s - c)) ** 0.5

print("Площадь треугольника:", S)
ᅠ ᅠ Гуру (4676) 2 года назад
 a = float(input()) 
b = float(input())
c = float(input())
p = ( a + b + c) / 2
s = (p * (p - a) * (p - b) * (p - c)) ** 0.5
print(s)
Посада Ядерная Гуру (4789) 2 года назад
 print(((lambda a,b,c: ((a + b + c) / 2 * ((a + b + c) / 2 - a) * ((a + b + c) / 2 - b) * ((a + b + c) / 2 - c))**0.5)((float(input())),(float(input())),(float(input()))))) 
АрхТехПроект Профи (540) 11 месяцев назад
a = float(input())
b = float(input())
c = float(input())
p = (a+b+c)/2
n = p*(p-a)*(p-b)*(p-c)
S = n**0.5
print(S)

для школьников
Sharif Mirzoev Ученик (104) 6 месяцев назад
def площадь_треугольника(a, h):
"""
Вычисляет площадь треугольника по его стороне и высоте.

Args:
a: Длина стороны треугольника.
h: Высота, опущенная на сторону a.

Returns:
Площадь треугольника, если данные корректны.
Возвращает None, если данные некорректны.
"""

if a > 0 and h > 0:
return 0.5 a h
else:
print("Некорректные данные. Сторона и высота должны быть положительными.")
return None

# Ввод данных от пользователя
a = float(input("Введите длину стороны a: "))
h = float(input("Введите высоту h: "))

# Вычисление площади
площадь = площадь_треугольника(a, h)

# Вывод результата
if площадь is not None:
print("Площадь треугольника:", площадь)
Похожие вопросы