You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何math.sin()计算结果异常,角度转换不符合预期?

问题解决:math.sin()计算结果与计算器不一致的原因及修复

核心问题

Python的math.sin()函数要求传入的参数是弧度值,而非角度值。你直接传入45(角度),函数会将其视为弧度计算,这就导致结果和默认按角度计算的计算器不符。

原代码分析

import math
r = math.sin(45)  # 错误:将角度45当作弧度传入
q = math.degrees(r)  # 错误:把正弦值当作弧度转角度,逻辑颠倒
print(r)
print(q)

这段代码的两处错误:

  1. 未将角度转换为弧度就传入math.sin()
  2. 使用math.degrees()处理正弦值,正确的反向操作应该是先求反正弦再转角度

修复后的代码

import math
# 先将角度45转换为弧度,再计算正弦值
r = math.sin(math.radians(45))
print(r)  # 输出约0.7071067811865476,与计算器结果一致

# 若要从正弦值反推角度,需用反正弦函数
q = math.degrees(math.asin(r))
print(q)  # 输出45.0

关键说明

  • math.radians(degrees):将角度值转换为弧度值,是使用三角函数前的必要步骤(除非你本来就用弧度计算)
  • math.asin(value):计算正弦值对应的弧度角度,再用math.degrees()转换为角度单位

内容的提问来源于stack exchange,提问作者Michael Beyer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 22:26:25