math.cos(x)没有返回正确的值?

问题描述:

我刚开始使用python,并且在使用非常基本的程序时遇到困难。我想计算-20度的余弦。这是我的理解是,默认值是弧度,所以这是下面的代码我想:math.cos(x)没有返回正确的值?

import math 


print math.cos(math.degrees(-20)) 

此输出(-.7208 ...),其中的答案居然是(0.9397 ... )。我相信这有一个非常基本的解决方案,但我已经尝试了很多不同的东西,它不会输出正确的结果。提前致谢!

+2

'math.degrees(-20)'不是-20度。 – user2357112

Python documentation

math.degrees(x)

转换角度X从弧度到度。

这意味着您正试图将-20弧度转换为不需要的度数。而且每个文档

math.cos(x)

回报x弧度的余弦值。

这意味着math.cos发现传递的参数的余弦在弧度,不度。这意味着您的代码当前将-20弧度更改为度数,然后找到其余弦,就好像它是弧度一样......您可以看到为什么这是一个问题。

您需要将-20度转换为弧度,然后找到余弦。使用math.radians

math.cos(math.radians(-20)) 

你需要弧度输入,所以做

math.cos(math.radians(-20)) 

math.radians(-20)-20度转换为弧度。

math.degrees需要一定数量的弧度,并且产生多个度数。你需要相反的转换 - 你有一定的度数,并且你需要产生一些弧度,你可以传给math.cos。您需要math.radians

math.cos(math.radians(-20))