Есть задача:
Васе на дом задали задачу по геометрии, по трем сторонам треугольника вычислить его периметр и площадь. Но он очень не любил геометрию и попросил вас решить эту задачу.
Формат входных данных
Во входном файле записано 3 натуральных числа через пробел, не превосходящих 1000 - длины сторон треугольника.
Формат выходных данных
В первую строку выходного файла выведите число -1, если треугольника с данными сторонами не существует (Вася неправильно списал условие задачи :), иначе через пробел выведите периметр и площадь данного треугольника.
Площадь треугольника выводить с точностью до 5 знаков после запятой (точки).
Формат ввода
3 4 5
Формат вывода
12 6.00000
Я сделал её решение:
import math
file = open("input.txt", "r")
text = file.read()
file.close()
a, b, c = [int(n) for n in text.split(" ")]
out = ""
if not (a < b + c and b < a + c and c < a + b):
out = "-1"
else:
p = 0.5 * (a + b + c)
h = 2 * math.sqrt(p * (p-a) * (p-b) * (p-c)) / a
out = str(a + b + c) + " " + ("%.5f" % (a * h / 2))
file = open("output.txt", "w")
file.write(out)
file.close()
Только на третьем тесте моя программа выдаёт ошибку..
Что может быть не так?
P. S. Входные данные неизвестны.