Предмет: Информатика, автор: vsevolodjacobson

Задание _

Даны три стороны треугольника a,b,c. Определите тип треугольника с заданными сторонами. Выведите одно из четырех слов: rectangular для прямоугольного треугольника, acute для остроугольного треугольника, obtuse для тупоугольного треугольника или impossible, если треугольника с такими сторонами не существует (считаем, что вырожденный треугольник тоже невозможен).

-

-

-

Мой код _

a = int(input())

b = int(input())

c = int(input())

if (a < b + c) or (b < a + c) or (c < b + a):

if (c**2 == a**2 + b**2) or (a**2 == b**2 + c**2) or (b**2 == a**2 + c**2):

print("rectangular")

elif (a**2 > b**2 + c**2) or (b**2 > a**2 + c**2) or (c**2 > b**2 + a**2):

print("obtuse")

elif (a**2 < b**2 + c**2) or (b**2 < a**2 + c**2) or (c**2 < b**2 + a**2):

print("acute")

else:

print("impossible")


Сдал работу, но мне говорят, что что-то не так. Помогите понять, где ошибка или что я не учел. Все отступы если что у меня соблюдены. Ошибка должна быть в условии.


mimalliktv04: проходили списки? или только условные операторы?
mimalliktv04: проходили функции max,min? просто я хочу упростить код

Ответы

Автор ответа: mimalliktv04
2

Ответ:

могу сделать код покороче если проходили списки и функции min и max

Объяснение:

a = int(input())

b = int(input())

c = int(input())

if  (a > b + c) or (b > a + c) or (c > b + a):

   print("impossible")

elif (c**2 == a**2 + b**2) or (a**2 == b**2 + c**2) or (b**2 == a**2 + c**2):

   print("rectangular")

elif (a**2 < b**2 + c**2) and (b**2 < a**2 + c**2) and (c**2 < b**2 + a**2):

   print("acute")

elif (c**2 > a**2 + b**2) or (a**2 > b**2 + c**2) or (b**2 > a**2 + c**2):

   print("obtuse")

upd:почему то когда я копирую свой код от сюда и переношу в atom(редактор) такая ошибка хз в чем проблема надеюсь у тебя такой нет

upd:чтоб ее не было перепиши строки с принтами

Приложения:

vsevolodjacobson: давай, очень выручишь
mimalliktv04: a,b,c=map(int,input().split())
arr=sorted([a,b,c])
if arr[2]>arr[0]+arr[1]:
print("impossible")
elif arr[2]**2==arr[0]**2+arr[1]**2:
print("rectangular")
elif arr[2]**2 print("acute")
elif arr[2]**2>arr[0]**2+arr[1]**2:
print("obtuse")
mimalliktv04: первая строка чтоб вводить стороны через пробел в одну строку
vsevolodjacobson: спасибо
Похожие вопросы
Предмет: Английский язык, автор: GreenHornet008
Предмет: Українська мова, автор: DashkaPonomarenko