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")
Đoạn code xét tam giác vuông đã đúng chưa?
- Đú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 
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?