Đoạn code xét tam giác vuông đã đúng chưa?

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")
  • Đú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.

4 Likes

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))
1 Like

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

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
7 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?