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

Python中sin计算结果不一致:X2=15.5*sin(84)打印值和直接打印值不同

问题诱因

Python标准库math.sin、numpy.sin等主流科学计算库的正弦函数参数默认单位为弧度,和日常使用的角度单位不兼容,传入角度值需要先做转换:math.sin(math.radians(角度值))。
两次计算结果不一致,基本是以下几种场景导致:

  • 两次调用的sin函数不是同一个实现:定义X2前导入了其他封装过的sin函数(比如部分工具库的sin默认接受角度值,或者你此前重定义过sin做过角度转弧度处理),在定义X2之后、直接打印表达式之前,又重新导入了标准库的math.sin覆盖了之前的sin指向,两次计算逻辑不同。
  • 变量X2被后续代码修改:定义X2到打印X2的间隔中,有其他代码修改了X2的取值,和初始赋值结果无关。
  • 代码书写错误:定义X2时写错了参数值、函数名(比如把cos写成sin),直接打印表达式时的写法正确,导致结果不一致。

验证方案

在两次计算代码前分别打印sin函数的内存地址,确认是否为同一个实现:

# 定义X2前打印
print(id(sin))
X2 = 15.5 * sin(84)
print(X2)
# 直接打印表达式前再打印
print(id(sin))
print(15.5 * sin(84))

如果两次输出的id值不同,即可确认是sin函数指向被修改的问题。如果id相同,逐一排查变量X2是否被修改、是否存在书写错误即可。

内容的提问来源于stack exchange,提问作者mohanan v

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 21:06:04