python'int'对象不可调用

时间:2015-09-22 19:31:07

标签: python int typeerror callable

我收到python错误“TypeError:'int'对象不可调用”,我理解这意味着我不小心将括号直接放在变量或类似的东西之后,但是我没有看到码。我的代码是

numFather = random.randrange(0, 10)
numMother = random.randrange = 10 - numFather
print numFather
print numMother
child = []
childgen = []
for FatherCounter in range(0, numFather):
    child.append(FatherTraits[random.randrange(0,5)])
for MotherCounter in range(0, numMother):
    child.append(MotherTraits[random.randrange(0,5)])

错误发生在

child.append(FatherTraits[random.randrange(0,5)])

如果我发表评论,那么它会再次发生在

child.append(MotherTraits[random.randrange(0,5)])

任何人都知道发生了什么事?

2 个答案:

答案 0 :(得分:1)

你放在哪里

numMother = random.randrange = 10 - numFather

您已将号码10 - numFather分配给random.randrange。所以random.randrange现在是一个数字,而不是一个函数。无论你想做什么,都不是这样。

答案 1 :(得分:0)

我同意@khelwood,random.randrange被设置为一个整数值,但这里有很少的其他编辑

没有定义FatherTraits和MotherTraits。代码行child.append(FatherTraits[random.randrange(0,5)])正在调用FatherTraits的随机数并将其附加到子项。

因此,通过定义FatherTraitsMotherTraits,您的代码应该有效。

import random

numFather = random.randrange(0, 10)
numMother = 10 - numFather

child = []
childgen = []

FatherTraits = ['a','b','c','e','f','g']
MotherTraits = ['u','v','w','x','y','z']


for FatherCounter in range(0, numFather):
    child.append(FatherTraits[random.randrange(0,5)])
for MotherCounter in range(0, numMother):
    child.append(MotherTraits[random.randrange(0,5)])