[Python] 纯文本查看 复制代码class Point:
def __init__(self, x, y):
self.x = x
self.y = y
def distance(a, b):
"""判断两点之间的距离"""
# print(a.x, a.y, b.x, b.y)
return ((a.x - b.x) ** 2 + (a.y - b.y) ** 2) ** 0.5
def angle_judge(a, b, c):
"""求出判断三角形是钝角、锐角还是直角三角形"""
# 求出三角形三边长并排序
a_b = distance(a, b)
a_c = distance(a, c)
b_c = distance(b, c)
sides = [a_b, a_c, b_c]
sides.sort()
# 打印三条边长
print("a_b:", a_b)
print("a_c:", a_c)
print("b_c:", b_c)
p1 = sides[0] ** 2 + sides[1] ** 2
p2 = sides[2] ** 2
# 输出a2+b2的值(p1)和c2的值(p2)
print(p1, p2)
if p1 == p2:
return "直角三角形"
elif p1 > p2:
return "锐角三角形"
elif p1 < p2:
return "钝角三角形"
if __name__ == '__main__':
# 应该是直角三角形
a1 = Point(0, 0)
b1 = Point(4, 0)
c1 = Point(4, 4)
print(angle_judge(a1, b1, c1))
# 应该是钝角三角形
a2 = Point(0, 0)
b2 = Point(0, 1)
c2 = Point(4, 4)
print(angle_judge(a2, b2, c2))
# 应该是锐角三角形
a3 = Point(0, 0)
b3 = Point(4, 0)
c3 = Point(2, 10)
print(angle_judge(a3, b3, c3))