使用Python math.cos求解SAS三角形得错误结果,求助
Fixing Your SAS Triangle Calculation in Python
嘿,我一眼就发现问题所在啦——你代码里的核心错误是**math.cos()函数默认接受弧度作为参数,但你传入的是角度值49**,这直接导致余弦值计算完全偏离,最终结果自然不对。
修正后的代码
我们只需要先把角度转换成弧度,再代入余弦定理就可以得到正确结果:
import math a = 5 b = 7 C = 49 # 这里是角度值,需要转成弧度 # 将角度转换为弧度 C_rad = math.radians(C) # 正确应用余弦定理计算c的平方 c_squared = a**2 + b**2 - 2 * a * b * math.cos(C_rad) # 计算平方根得到边长c c = math.sqrt(c_squared) print(c)
验证结果
运行这段代码后,输出会接近5.298,也就是你预期的5.3左右。简单算一下验证:
math.radians(49)会把49度转换成约0.855弧度math.cos(0.855)≈0.656- 代入余弦定理:
5² +7² -2*5*7*0.656 =74 -45.92=28.08 - 平方根
√28.08≈5.3,完全符合预期。
小提示
如果经常需要在角度和弧度之间转换,记得Python的math模块里有两个实用函数:
math.radians(角度值):把角度转成弧度math.degrees(弧度值):把弧度转回角度
内容的提问来源于stack exchange,提问作者Cameron Burst
相关产品推荐
相关产品推荐

