不知道大家在学习8年级全等三角形的时候,有没有想过,如果已知三边的长度,这个三角形就一定能定下来,那么这个三角形的角度是不是也是固定的?本人就有这样的疑问。
答案是肯定的,代码如下:
#!/usr/bin/env python3
import math
angle = []
def calculate_angle(a, b, c, rounded = None):
'''根据三边长度,求三角度数,a,b,c为三边长度
rounded为取小数的位数,默认为取整'''
# 容错处理
if a + b > c and a + c > b and b + c > a:
pass
else:
print("不可以组成三角形喔")
return
# 计算cos(C),cos(B)和cos(A)
cos_A = (b ** 2 + c ** 2 - a ** 2) / (2 * b * c)
cos_B = (a ** 2 + c ** 2 - b ** 2) / (2 * a * c)
cos_C = (a ** 2 + b ** 2 - c ** 2) / (2 * a * b)
# 计算角度A,B,C的弧度值
radian_A = math.acos(cos_A)
radian_B = math.acos(cos_B)
radian_C = math.acos(cos_C)
# 将弧度值转换为度数
degree_A = math.degrees(radian_A)
degree_B = math.degrees(radian_B)
degree_C = math.degrees(radian_C)
angle.append(round(degree_A,rounded))
angle.append(round(degree_B,rounded))
angle.append(round(degree_C,rounded))
return angle
#调试
print(calculate_angle(3,4,5))
声明一下,由于本人是初学者,代码可能没有那么好,还请谅解。