为什么Python的三角函数会产生与我的计算器不同的结果?

时间:2017-02-14 16:40:33

标签: python math

我试图用直角三角形做一个简单的三角计算程序,给出“x”,“none”和其他两个带数字的可能值。我知道函数math.cos(),math.sin()等等,但它们给了我不同于我的计算器给我的数字。这是我尝试使用的一些代码的例子:

if hyp == "none" and opp == "x":
    answer = adj * math.tan(ang)

为hyp输入值None,为adj输入6,为opp输入x,为ang输入37后,我会收到值:

-289.036

在我的计算器上,同样符合'4.521'。他们为什么会给出不同的结果?

2 个答案:

答案 0 :(得分:1)

在Python中查看math.tan函数的documentation

  

math.tan(x)

     

返回 x 弧度的正切

这适用于所有三角函数。您必须先使用math.radians函数将度数转换为弧度:

math.tan(math.radians(ang))

答案 1 :(得分:0)

answer = adj * math.tan(math.radians(ang))

Python math lib需要弧度才能工作,上面的转换应该可以解决问题