AttributeError:'str'对象没有属性'subs'

时间:2019-11-08 04:56:58

标签: python-3.x

我正在定义一个可以帮助我替换多项式的变量的定义,但出现此错误

from sympy import *

x = Symbol('x')
def velocidad_media(t0,t1,poli):
    D1=poli.subs(x,t0)
    D0=poli.subs(x,t1)
    D3=D1-D0
    T= t1-t0
    Re=D3/T
    print("la velocidad media es",Re,"m/s")

pol=input("ingrese la funcion del lanzamiento: ")
a= int(input("ingrese el tiempo inicial en segundos: "))
b=int(input("ingrese el tiempo final en segundos: "))
punt=int(input("ingrese el punto en donde quiere hallar la velocidad instantanea: "))velocidad_media(a,b,pol)`

错误消息:

AttributeError: 'str' object has no attribute 'subs'

2 个答案:

答案 0 :(得分:1)

input返回一个str类型,但是您将其视为sympy表达式。
使用函数pol可以将字符串parse_expr解析为一个sympy表达式。
例如

from sympy import *
from sympy.parsing.sympy_parser import parse_expr

x = Symbol('x')
pol = parse_expr('x**2 + x + 1')
pol.subs(x,1)

答案 1 :(得分:0)

在python中,String是一个类,具有与模板的替代功能。

但是在这里您可以使用string.replace

 poli = input("enter the name")
 poli.replace(actual_value, replace_value)