0

呼び出されるたびに乱数を生成し、それを定数整数にする関数を構築しようとしています。私の関数は次のようになります。

def offsetradf():
    global x
    x =  random.randint(0,7)
    return x
y = offsetradf()

コードの後半で呼び出されると、次のようになります。

elif string.find(line,'nslice')==1:
       nslice = nslice+y
       output_file.write(' nslice = '+str(nslice)+'\n')

表示されるエラー メッセージは次のとおりです。

Traceback (most recent call last):
File "./rungenesis.py", line 23, in <module>
nslice = nslice+offsetradf
TypeError: unsupported operand type(s) for +: 'int' and 'function'

どんな助けでも素晴らしいでしょう。

4

1 に答える 1

1

エラーを読んでください:)

nslice = nslice+offsetradf
TypeError: unsupported operand type(s) for +: 'int' and 'function'

nsliceですintoffsetradfは関数です -- 呼び出しているのではなく、名前を付けているだけです。それだけです。

正しい慣用句:

nslice = nslice + offsetradf()

に注意して()ください。

于 2013-02-19T14:51:45.303 に答える