python - 为什么我不能在 sympy 中使用 subs?// 'list' 对象没有属性 'subs'
问题描述
我想将 x 替换为用户用户插入的 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)
我插入:
10
x+10
我得到:
weass.py", line 13, in <module>
print(despejada.subs({x:xi})) AttributeError: 'list' object has no attribute 'subs'
为什么我不能在 sympy 中使用subs?
解决方案
正如评论中提到的,solve 函数返回不同解决方案的列表(这里它包含 1 个元素)。您需要使用下标(带括号)来引用单个解决方案。
despejada[0].subs({x:xi})
作为一个额外的提示:除非你从你自己的包中导入你所知道的一切,否则避免使用它,from sympy import *
因为它会使你的命名空间变得混乱。更喜欢使用类似import sympy as sp
numpy 的东西。它可以为您省去一些麻烦。
推荐阅读
- java - 如何确定我使用哪种 GC?
- php - 使用 WooCommerce 订单转换状态挂钩添加用户角色
- r - 如何填补一系列字符串中的空白?
- nopcommerce - 如何根据是否安装插件来管理 NopCommerce 3.90 中的依赖项注册?
- python - 'ToPILImage' 对象没有属性 'show'
- javascript - 为什么在这个简单的 jsfiddle 演示中没有触发点击事件?
- json - 如何将 Azure 存储 Blob JSON 导入 Azure SQL Server
- selenium-webdriver - 如何找到关闭标签后出现的文本。我已经使用了很多东西,但它没有定位
- rx-java2 - rxjava 在重试后完成当可完成时
- c - 无法理解模拟代码上的边界条件指针系统