简体   繁体   English

python'int'对象不可调用

[英]python 'int' object is not callable

I am getting the python error "TypeError: 'int' object is not callable", which I understand to mean that I am accidentally putting parentheses directly after a variable or something like that, but I don't see that in my code.我收到 python 错误“TypeError: 'int' object is not callable”,我理解这意味着我不小心将括号直接放在变量或类似的东西之后,但我在我的代码中没有看到。 My code is我的代码是

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)])

The error is at错误是在

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

If I comment that out it happens again at如果我评论说它再次发生在

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

Anyone know what's going on?有谁知道这是怎么回事?

Where you put你放在哪里

numMother = random.randrange = 10 - numFather

you have assigned the number 10 - numFather to random.randrange .您已将数字10 - numFather分配给random.randrange So random.randrange is now a number, rather than a function.所以random.randrange现在是一个数字,而不是一个函数。 Whatever you were trying to do, this is not it.无论你想做什么,这都不是。

I agree to @khelwood, random.randrange is being set to a integer value, but here are few other edits我同意@khelwood,random.randrange 被设置为整数值,但这里有一些其他编辑

The FatherTraits and MotherTraits, aren't defined.未定义FatherTraits 和MotherTraits。 The code line child.append(FatherTraits[random.randrange(0,5)]) is calling the FatherTraits's random number and appending it to child.代码行child.append(FatherTraits[random.randrange(0,5)])正在调用 FatherTraits 的随机数并将其附加到 child。

So by defining FatherTraits and MotherTraits , your code should work.因此,通过定义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)])

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM