01/10/2018, 17:15

Xét tam giác vuông vậy đúng chưa mn

def right_triangle(a, b, c):
    x = b**2 + c**2
    y = c**2 + a**2
    z = a**2 + b**2
    if a > 0 and b > 0 and c > 0:
        if a**2 == x:
            return("True")
        else:
            if c**2 == z:
                return("True")
            else:
                if b**2 == y:
                    return("True")
                else:
                    return("False")
HK boy viết 19:16 ngày 01/10/2018
  • Đúng nhưng hơi dài dòng.
  • Nếu bạn muốn return giá trị boolean True/False thì
return True

hoặc

return False

luôn.

Trương Tấn Phát viết 19:16 ngày 01/10/2018

Xét nhé:

  • Trong a, b, c lấy số lớn nhất, sau đó tính tổng bình phương 2 số còn lại xem có bằng bình phương số lớn nhất đó => vuông.
def squareTriangle(a, b, c):
   if min(a,b,c)<=0:
      return False
   t=[a,b,c]
   x = max(t)
   t.remove(x)
   return x**2==t[0]**2+t[1]**2

print(squareTriangle(3,4,5))
HK boy viết 19:22 ngày 01/10/2018

Đã như vậy thì chơi lớn đi

def isSquareTriangle(a, b, c):
    if min(a, b, c) <= 0:
        return False

    e = sorted([a, b, c])  # các cạnh, sort theo độ dài
    return e[0] ** 2 + e[1] ** 2 == e[2] ** 2
Bài liên quan
0