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. Существует ли треугольник с такими сторонами узнаётся абсолютно точно. 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)
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)
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())))))
Напишите программу, вычисляющую площадь этого треугольника. Все числовые данные брать любые, но не забывать указывать тип.