Формат входных данных
Даны три натуральных числа – стороны треугольника. Каждое число вводится с новой строки.
Формат выходных данных:
*Необходимо вывести одно из слов:
right для прямоугольного треугольника,
acute для остроугольного треугольника,
obtuse для тупоугольного треугольника,
impossible, если треугольника с такими сторонами не существует.*
Я запускаю вот такой код:
x=int(input())
y=int(input())
z=int(input())
c = max(x,y,z)
if c==x:
a, b = y, z
elif c==y:
a,b=x,z
else:
a, b = x, y
if c>=a+b:
print('impossible')
else:
if c^2==(a^2+b^2):
print('right')
elif c^2<(a^2+b^2):
print('acute')
else:
print('obtuse')
Для входных чисел 8 10 6
Выдаётся результат: "obtuse", хотя правильно "right". Скажите, пожалуйста, что я делаю неправильно?
^не имеет никакого отношения к возведению в степень в питоне и в массе других языков, это побитовая операция XOR (исключающее ИЛИ). Возведение в степень в питоне выполняется при помощи оператора**, для квадрата можно было бы просто записатьif c * c == a * a + b * b:– Nowhere Man Feb 14 '24 at 15:35