2017-09-24 58 views
-1
list_personagens = [] 

nomeA = input("Insert the name\n") 
papel_personagem1 = random.randint(0, 1) 
personagem1 = People(nomeA, papel_personagem1) 
list_personagens.append(papel_personagem1()) 
print() 

错误:获取,类型错误:“诠释”对象不是可调用的,当我试图名单上添加新元素

Traceback (most recent call last): 

    lista_personagens.append(papel_personagem1()) 
TypeError: 'int' object is not callable 

我想添加一个随机生成的INT到我刚刚创建的空列表,但是,它给出了一个错误,说'int'对象不可调用。

编辑:发现错误。我打电话给papel_personagem1作为功能。

+0

'papel_personagem1'是'People(...)'的返回值,并且您正在调用它。什么是“papel_personagem1”? –

+0

此外,请包含*完整追溯*,以便我们可以看到哪条线路导致此问题。没有它,我们所能做的只是猜测。显示“人员”也会返回,除非该线路永远不会到达。 –

+0

例如,您可能已经为'input'指定了一个整数,同时也会给出该错误消息。 –

回答

2

那么,错误是相当具有描述性的 - 你正在试图调用它。

试试这个(没有一对括号):

list_personagens.append(papel_personagem1)

1

papel_personagem1()被处理papel_personagem1作为一个函数(调用它)时,它不是,你应该删除括号,以便把它当作一个int:

papel_personagem1 = random.randint(0, 1) # an int 
list_personagens.append(papel_personagem1) 
相关问题