错误:“功能”对象不可下标

杰森

我正在做我的python分配,但是当我想测试上述情况时出现错误。

这是我的代码:

def evalTerm(env, t):
    if type(t) == Node:
        for label in t:
            children = t[label]
            if label == 'Number':
                t = children[0]
                return t

            elif label == 'Add':
                t1 = children[0]
                v1 = evalTerm(env, t1)
                t2 = children[1]
                v2 = evalTerm(env, t2)
                return v1 + v2

            elif label == 'Multiply':
                t1 = children[0]
                v1 = evalTerm(env, t1)
                t2 = children[1]
                v2 = evalTerm(env, t2)
                return v1 * v2


            elif label == 'Variable':
                x = children[0]
                if x in env:
                    return env[x]
                else:
                    print(x + " is unbound")
                    exit()

            elif label == 'Int':
                f = children[0]

                v = evalTerm[env, f]
                if v == 'True':
                    return 1
                elif v == 'False':
                    return 0

            elif label == 'Parens':
                x = children[0]
                v = evalTerm(env, x)
                return v

    elif type(f) == Leaf:
        if f == 'True':
            return 'True'
        if f == 'False':
            return 'False'

当我使用以下命令进行测试时:

evalTerm({}, {'Int': ['True']})

它给出了一个错误:

“功能”对象不可下标

我该如何解决?

卢卡斯·格拉夫(Lukas Graf)

没有完整的追溯就无法确定,但是很可能这是您的问题:

v = evalTerm[env, f]

evalTerm是您需要调用的递归函数(请注意()而不是[]):

v = evalTerm(env, f)

[ ]Python中的方括号用于预订或建立索引-这意味着,例如,通过其键寻址字典中的值,或通过其索引寻址列表中的项

如果收到异常'foo' object is not subscriptable,则表示您尝试对'foo'不支持该类型的对象使用预订

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python错误:int对象不可下标

来自分类Dev

类型错误:“int”对象不可下标?

来自分类Dev

类型错误:“机架”对象不可下标

来自分类Dev

类型错误:“方法”对象不可下标

来自分类Dev

类型错误:“发布”对象不可下标

来自分类Dev

对象不可下标

来自分类Dev

Python TicTacToe 错误:类型错误:“函数”对象不可下标

来自分类Dev

“ RelatedManager”对象不可下标

来自分类Dev

LabelEncoder对象不可下标

来自分类Dev

NoneType对象不可下标

来自分类Dev

“方法”对象不可下标

来自分类Dev

类型错误,iteratig期间“方法”对象不可下标

来自分类Dev

获取“ TypeError:'NoneType'对象不可下标”错误

来自分类Dev

python函数中的类型错误(int对象不可下标)

来自分类Dev

Python - 类型错误:“图形”对象不可下标

来自分类Dev

类型错误:“int”对象不可下标 - Python3

来自分类Dev

类型错误:“产品”对象在 Flask 中不可下标

来自分类Dev

类型错误:“类型”对象不可下标+迭代为“A”而不是A

来自分类Dev

django提出的“功能”对象不可下标,但是本地python不可以

来自分类Dev

BeautifulSoup:TypeError:'NoneType'对象不可下标

来自分类常见问题

TypeError:“ zip”对象不可下标

来自分类Dev

Python'TypeError':'Generator'对象不可下标

来自分类Dev

Python:TypeError:“ int”对象不可下标

来自分类Dev

TypeError:“ float”对象不可下标

来自分类Dev

命令光标的对象不可下标

来自分类Dev

Django TypeError'method'对象不可下标

来自分类Dev

TypeError:'float'对象不可下标--Python

来自分类Dev

Python TypeError:“设置”对象不可下标

来自分类Dev

熊猫适用,“浮动”对象不可下标

Related 相关文章

热门标签

归档