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

摆锤水平位移计算Python代码结果异常,求问题排查

问题排查与修正方案

我帮你找出了代码里的几个关键问题,一步步来梳理:

1. 循环范围遗漏

你需要输出X(0)到X(9)共10个结果,但range(0,9)只会生成0到8的整数,直接漏掉了T=9的情况。改成range(10)就能完美覆盖0到9的所有目标时间点。

2. 公式括号位置错误

原公式的结构是:

X(T) = L × cos(A × cos(T × √9.8/L)) - L × cos(A)

但你的代码把- L × cos(A)整个塞进了math.cos()的参数里,这完全扭曲了原本的计算逻辑!正确的做法是先算出L*math.cos(...)的结果,再单独减去L*math.cos(A)。

3. 输出格式优化(匹配示例要求)

示例里的输出保留了四位小数,直接打印浮点数可能会出现多余位数或科学计数法,建议用格式化输出统一控制小数位数。

修正后的代码

import math

L = float(input())
A = float(input())

for T in range(10):  # 覆盖0到9共10个时间点
    # 拆分公式为两个项,避免括号嵌套出错
    cos_inner = A * math.cos(T * math.sqrt(9.8 / L))
    term1 = L * math.cos(cos_inner)
    term2 = L * math.cos(A)
    x = term1 - term2
    # 格式化输出四位小数,和示例结果对齐
    print("{0:.4f}".format(x))

测试验证

用示例输入53.1和0.8运行:

  • T=0时,cos(0)=1,term1和term2相等,相减结果为0.0,和示例第一行一致;
  • T=1时,计算结果约为2.6689,完全匹配示例第二行输出。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 03:08:57