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

为何基于SymPy的简易while循环无法运行?技术问询

代码无法运行的原因及修复方案

你的代码存在几个关键问题,直接导致运行失败:

  • 导入语法错误:from sympy import init_session() 写法错误,导入函数时不需要加括号,应改为 from sympy import init_session——你要导入的是函数本身,而非函数调用后的结果。
  • 未执行初始化函数:仅写 init_session 不会加载sympy的数学函数(比如ln),必须调用函数 init_session(),这样ln才会被注册到当前命名空间,否则代码里的ln会被视为未定义变量。
  • HTML转义字符问题:代码里的 > 是HTML转义的大于号,实际写Python代码时要替换成正常的 >。

修复后的代码如下:

from sympy import init_session
init_session()

def test(v, th):
    va = v
    val = 5*ln((2*(10**4))/(2*(10**4)+va-10))
    while (va - val > th):
        va -= 0.01
        val = 5*ln((2*10**4)/(2*10**4+va-10))
    return val

至于报错指向sympy测试文件的问题,本质是错误的导入方式触发了sympy内部模块加载的异常,进而抛出了关联的错误栈,根源还是你的导入代码写法有误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 03:12:06