【发布时间】:2013-12-11 15:20:54
【问题描述】:
当我声明一个符号变量时,它可以工作:
>>> from sympy import var
>>> x = var('x')
>>> x + 2
x + 2
现在,出于我的目的,我需要多个变量,例如 s0, s1, ..., s9,我还需要像 s0 + 1、s2 - s1 等这样的操作。
代码是什么?这对我不起作用(编辑:我的意思是我可以这样做,是的,但为此我需要大量更改现有代码):
>>> from sympy import symbols
>>> s = symbols('s0:9'); s
(s0, s1, s2, s3, s4, s5, s6, s7, s8)
>>> s[0] + 1
s0 + 1
EDIT2:s0, s1, s2, s3, s4, s5, s6, s7, s8, s9 = symbols('s0:10') 可以,但变量的数量不固定。
【问题讨论】:
-
为什么这对您不起作用?您有什么要求?
-
基本上我已经写了很多行了,但是忽略了这个事实。现在,如果我尝试使用它,那么我必须将代码分成两部分,从一部分获取输出,修改它,然后替换为第二部分!
-
symbols('s0:%d' % n)怎么样? -
或者只是
[ var('x%n' % i) for i in range(n) ]?