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

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

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

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

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

print("Стороны:") a = float(input("a = ")) b = float(input("b = ")) c = float(input("c Треугольник существует") else: print("Треугольник не существует")

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

 print("Длины сторон треугольника:") a = float(input("a = ")) b = float(input("b = ")) c = float(input("c Треугольник есть") else: flag = 'a' else: flag = 'b' else: flag = 'c' if flag != '': print("Треугольника нет") print("'%s' > суммы других" % flag)

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

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

Длины сторон треугольника: a = 4 b = 5 c = 10 Треугольника нет 'c' > суммы других

Источник

Читайте также:  Function string argument php

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

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

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

Поскольку всего три стороны, то можно составить три варианта сложения двух сторон: 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("Треугольника нет") print("'%s' > суммы других" % flag)

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

Пример выполнения программы:

Длины сторон треугольника: a = 4 b = 5 c = 10 Треугольника нет 'c' > суммы других

Более изящным решением является использование оператора множественного ветвления языка программирования Python: if-elif-else.

print("Длины сторон треугольника:") a = float(input("a = ")) b = float(input("b = ")) c = float(input("c = ")) flag = '' if a + b  c: flag = 'c' elif a + c  b: flag = 'b' elif b + c  a: flag = 'a' else: print("Треугольник есть") if flag != '': print("Треугольника нет") print("'%s' > суммы других" % flag) 

Здесь сравнение происходит от обратного: утверждается, что сумма двух сторон меньше или равна третьей. Если это так (утверждение верно), то треугольника не существует. «Слишком длинная сторона» определяется в зависимости от того, в заголовке какой ветки логическое выражение возвращает истину.

Источник

Существует ли треугольник с заданными сторонами на Python

Статьи

Введение

В ходе статьи напишем код на языке программирования Python, который сможет определить, существует ли треугольник с заданными сторонами.

Написание кода

Для начала дадим пользователю возможность ввести три стороны треугольника:

a = float(input('a = ')) b = float(input('b = ')) c = float(input('c = '))

Как мы знаем, треугольник существует только в том случае, если сумма двух его сторон больше третьей. Зададим условие, в котором проверим сразу все три стороны:

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('Треугольник не существует') # a = 3 # b = 3 # c = 3 # Треугольник существует

and – логический оператор “И”

Также стоит отметить, что существует понятие выраженного треугольника. Следуя данному понятию сумма двух сторон может равняться третьей, и в таком случае в условии нужно будет использовать не просто знак больше (>), а больше или равно (>=):

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('Треугольник не существует')

Заключение

В ходе статьи мы с Вами написали код на языке программирования Python, который может определить, существует ли треугольник с заданными сторонам. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Источник

Функция, которая проверяет, существует ли треугольник с введенными сторонами a, b, c

Нужно написать ФУНКИЮ, которая проверяет, существует ли треугольник с введенными сторонами a, b, c.

Я что-то написал, оно проходит тесты, но не все. Думаю, что ошибка з самом описании функции, но как правильно?

1 2 3 4 5 6 7 8 9 10 11 12
def tr(a,b,c): tr=a+b return tr a=float(input("a= ")) b=float(input("b= ")) c=float(input("c= ")) if tr(a,b,c)>=c and tr(a,b,c)>=b and tr(a,b,c)>=a: print("True") else: print("False")

Составить программу, которая проверяет, может ли существовать треугольник с заданными сторонами.
Составить программу, которая проверяет, может ли существовать треугольник с заданными сторонами.

Написать программу, которая проверяет следующий факт: Треугольник со сторонами a, b, с является равнобедренным
Написать программу, которая проверяет следующий факт: Треугольник со сторонами a, b, с является.

Написать функцию, которая проверяет, существует ли треугольник с заданными длинами сторон
4. Написать функцию, которая проверяет, существует ли треугольник с заданными длинами сторон.

Существует треугольник со сторонами длиной a, b, c и, если существует, то найти его периметр и площадь
Помогите решить задачи на языке Паскаль. Дело в том что это задали на практике в колледже, когда.

Эксперт Python

Лучший ответ

Сообщение было отмечено pavel23313r1 как решение

Решение

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
def tr(a, b, c): return a + b > c and a + c > b and b + c > a # или так def tr(a, b, c): tmp = sorted([a, b, c]) return tmp[2]  tmp[0] + tmp[1] a = float(input("a= ")) b = float(input("b= ")) c = float(input("c= ")) if tr(a, b, c): print("True") else: print("False")

Источник

Оцените статью