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

使用SymPy处理葡萄藤种植计算问题时如何打印对应公式

实现方案

核心思路

  • 先提前定义SymPy的符号变量,修正原有Eq等式的构造错误,原有写法不符合SymPy的API要求,会触发语法报错。
  • 可以按需选择两种打印逻辑:打印通用符号公式,或者打印代入了当前输入值的计算式。
  • 边界校验的分支也可以同步打印错误对应的判定公式,方便用户理解输入不符合要求的原因。

可运行修改代码

import math
from sympy import symbols, Eq

# 提前声明符号变量
r, e, s, v = symbols('r e s v')
# 预先定义通用计算公式
common_eq = Eq(v, (r - 2*e)/s)

# 以下是原有业务逻辑,假设R、E、S是已经获取到的用户输入值
if R < (2 * E):
    print(f'判定公式:R < 2*E ,当前值:{R} < {2*E}')
    print('请重新输入,行长度必须大于两端立柱占用空间的两倍。')
elif S == 0:
    print('判定公式:S == 0')
    print('请重新输入,葡萄藤之间的间距不能为0。')
elif R > (2 * E):
    V = (R - (2 * E)) / S
    # 打印通用符号公式
    print(f'通用计算公式:{common_eq}')
    # 打印代入当前数值的计算式
    current_eq = common_eq.subs({r:R, e:E, s:S})
    print(f'当前输入代入后的计算式:{current_eq}')
    print(f'计算结果:v = {V}')
    print('该行可种植的葡萄藤数量为:', math.floor(V))

效果说明

  • 边界校验触发时,会同步打印触发异常的判定公式和对应数值,用户可以直观看到输入不符合要求的原因。
  • 符合计算条件时,会依次输出通用符号公式、代入当前输入的计算式、最终结果,完全满足打印公式的需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 04:15:02