“海峡”对象没有属性“潜艇”

问题描述:

这是我写的Vim的Python代码。每当我运行它,我得到的错误'str' object has not attribute 'subs'“海峡”对象没有属性“潜艇”

from sympy import * 
x,a_test,b_test,fa_test,fb_test=symbols('x a_test b_test fa_test fb_test') 
expr=raw_input("enter the equation") 
print expr 
print "hello" 
try: 
    print "hello" 
    inc=0 
    a=inc 
    fa=expr.subs(x,inc) 
    print "hello" 
    if(fa<0): 
     print "hello" 
     inc+=1 
     fb=expr.subs(x,inc) 
     if(fb<=0): 
      while(fb<=0): 
       inc+=1 
    else: 
     print "hello" 
     inc+=1 
     fb=expr.subs(x,inc) 
     if(fb<=0): 
      while(fb<=0): 
       inc+=1 
    b=inc 
    print a 
    print b 
    print fa 
    print fb 
except Exception,e: 
    print e 
+1

你在期待'subs'办?这不是'str'的​​方法,'expr'是(从'raw_input'返回的)。 – Kupiakos

+0

你可能寻找['str.replace'(https://docs.python.org/2/library/stdtypes.html#str.replace)。请注意,替换也必须是'str'类型(而不是'inc'定义的'int')。 – metatoaster

+0

我期待从潜水艇替代将在输入用户的公式中的“inc”的值代替x的值。 –

raw_input返回值是一个str;您不能像使用SymPy expr一样使用它。首先,您需要parse它:

from sympy.parsing.sympy_parser import parse_expr 
... 
expr = parse_expr(raw_input("enter the equation")) 
+0

亲爱Seluck ......“NegativeOne”对象没有属性“条” ......请问这个意思? –

+0

它必须与你的表情有关。你输入什么作为等式? – Selcuk

+0

参见下面是我修改后的代码为u建议我把土特产品的事情parse_expr,我输入方程x ** 2-X-1 –