加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 三角函数sin返回负数

发布时间:2020-12-20 12:42:03 所属栏目:Python 来源:网络整理
导读:我用 Python制作了这段代码 def hitsin(a): a = a*57.3 return math.sin(a) 所以每当我把hitsin(x)x转换为弧度.当我把hitsin(90)的答案不是1或者任何数字接近1而是负数(它是-0.9971392129043587)时,我很困惑.我做错了吗? p.s:我也尝试在C中编写相同类型的
我用 Python制作了这段代码

def hitsin(a):
    a = a*57.3
    return math.sin(a)

所以每当我把hitsin(x)x转换为弧度.当我把hitsin(90)的答案不是1或者任何数字接近1而是负数(它是-0.9971392129043587)时,我很困惑.我做错了吗?

p.s:我也尝试在C中编写相同类型的代码

#include <stdio.h>
#include <math.h>

int main(){
    float degree;
    float result;

    degree = 90;
    degree = degree*57.3;
    result  = cos(result);

    printf("%f",result);

    return 1;
}

但答案是一样的.

您忠诚的
吉里

解决方法

你应该除以180 / pi,而不是乘以.在Python中,您还可以使用math.radians()进行从度数到弧度的转换:

def hitsin(a):
    return math.sin(math.radians(a))
hitsin(90)
# 1.0

此外,我怀疑C代码给出了与Python代码相同的结果,因为它使用cos()而不是sin().

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读