Является ли треугольник прямоугольным?

Напишите функцию, которая будет принимать длину сторон треугольника (x, y и z) и определять, является ли он прямоугольным.

Примечания

  • Прямоугольный треугольник — это треугольник, в котором один угол прямой (то есть 90 градусов).
  • Самая длинная сторона (гипотенуза) не обязательно будет последним аргументом.
  • Все аргументы будут целыми числами.

Примеры

right_triangle(3, 4, 5) ➞ True
right_triangle(145, 105, 100) ➞ True
right_triangle(70, 130, 110) ➞ False

Варианты решения

def right_triangle(*l):
    a, b, c = sorted(l)
    return a > 0 and a * a + b * b == c * c
def right_triangle(x, y, z):
    if x > 0 and y > 0 and z > 0:
        return (x * x + y * y + z * z) - max(x, y, z) ** 2 == max(x, y, z) ** 2
    return False
def right_triangle(x, y, z):
    x, y, z = sorted([x, y, z])
    return all(i > 0 for i in [x, y, z]) and x ** 2 + y ** 2 == z ** 2