Определить существование треугольника по трем сторонам

У треугольника сумма любых двух сторон должна быть больше третьей. Иначе две стороны просто "лягут" на третью и треугольника не получится.

Пользователь вводит длины трех сторон. Программа должна определять, может ли существовать треугольник при таких длинах. Т. е. нужно сравнить суммы двух любых строн с оставшейся третьей стороной. Чтобы треугольник существовал, сумма всегда должна быть больше отдельной стороны.

Поскольку всего три стороны, то можно составить три варианта сложения двух сторон: a + b, b + c, a + c. Первую сумму сравниваем с оставшейся стороной c, вторую - с a и третью - с b. Если хотя бы в одном случае сумма окажется не больше третьей стороны, то можно сделать вывод, что треугольник не существует.

print("Введите длины сторон предполагаемого треугольника:")
a = float(input("a = "))
b = float(input("b = "))
c = float(input("c = "))
 
if a + b > c and a + c > b and b + c > a:
	print("Треугольник существует")
else:
	print("Треугольник не существует")

Можно решить задачу сложнее. Если требуется также определить, какая из сторон больше суммы двух других, то решение может быть таким:

print("Введите длины сторон предполагаемого треугольника:")
a = float(input("a = "))
b = float(input("b = "))
c = float(input("c = "))
 
flag = ''
if a + b > c:
	if a + c > b:
		if b + c > a:
			print("Треугольник существует")
		else:
			flag = 'a'
	else:
		flag = 'b'
else:
	flag = 'c'
 
if flag != '':
	print("Треугольник НЕ существует. ", end='')
	print("Сторона '%s' длиннее или равна сумме двух других." % flag)

Особого смысла использовать переменную flag здесь нет. Она просто позволяет лишний раз не писать в программе строки, информирующие о том, что треугольник не существует. Большего внимания заслуживает использование вложенных конструкций if-else.

Примерный результат выполнения программы:

Введите длины сторон предполагаемого треугольника:
a = 10
b = 2
c = 3
Треугольник НЕ существует. Сторона 'a' длиннее или равна сумме двух других.

Создано