我收到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)])
任何人都知道发生了什么事?
答案 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的随机数并将其附加到子项。
因此,通过定义FatherTraits
和MotherTraits
,您的代码应该有效。
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)])