Python3:为什么list.append(' string')追加到列表的元素而不是列出自己?

时间:2015-04-02 20:07:24

标签: python-3.x

我试图将方程解析为准备好的文本(例如:“0.035 * Vp-31.5”),

提取十进制数, 将它们保存到列表中并将其替换为等式中的“X”。 然后归还一切......

奇怪的输出: ('0.035 * Vp-31.5',['0.03531.5'])

应该是: ('X * Vp-X',['0.035','31.5'])

def const(eqNo):
    temp = ''
    args = []
    eq = eq_s[eqNo]
    for i in range(len(eq)):
        if eq[i].isdigit():
            temp+=eq[i]
        elif eq[i] == '.':
            temp+=eq[i]
        elif eq[i].isdigit == False:
            if len(temp) != 0:
                args.append(temp)
            temp = ''
    else:
        if len(temp) != 0:
            args.append(temp)
    for j in args:
        eq.replace(j,'X',1)
    return eq, args

1 个答案:

答案 0 :(得分:1)

错误与此

有关
elif eq[i].isdigit == False:

你忘了isdigit之后的括号,它应该是

elif eq[i].isdigit() == False:

干杯!