[#] Условный оператор
vit01(mira, 1) — All
2015-12-04 04:13:42


У треугольника сумма любых двух сторон должна быть больше третьей. Иначе две
стороны просто "лягут" на третью и треугольника не получится.
Пользователь вводит длины трех сторон. Программа должна определять, может ли
существовать треугольник при таких длинах. Т. е. нужно сравнить суммы двух
любых строн с оставшейся третьей стороной. Чтобы треугольник существовал,
сумма всегда должна быть больше отдельной стороны.
Поскольку всего три стороны, то можно составить три варианта сложения двух
сторон: 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' длиннее или равна сумме двух других.