我想将x替换为用户user插入的var
import numpy as np
from sympy import *
x = Symbol('x')
xi =int(input("insert initial x: "))
funcion = input("Insert the function: ")
def fx(funcion,x):
return solve(funcion,x, implicit=true))
despejada = fx(funcion,x)
print(despejada.subs({x:xi)
我插入:
10x + 10
我:
weass.py", line 13, in <module>
print(despejada.subs({x:xi})) AttributeError: 'list' object has no attribute 'subs'
为什么我不能使用子sympy吗?
正如在注释中提到的,solve函数返回一个不同解决方案的列表(这里它包含一个元素)。您需要使用下标(带括号)来引用单个解决方案。
despejada[0].subs({x:xi})
作为一个额外的提示:除非您从自己的包中导入您了解的所有内容,否则避免使用from sympy import *
,因为它会使您的命名空间混乱。更喜欢使用import sympy as sp
之类的东西,就像你用numpy做的那样。它可以为你省去一些麻烦。