私はPythonに問題があり、なぜ私は理解できないのですか? Iが(1/2の確率で)リストの内部番号を変更する「MUT1」関数を作成したいずれか1を加算または1を減算で、0と9を除い:pythonの単項演算子型が不正です - : 'NoneType'
def mut1 (m):
i=np.random.randint(1,3)
j=np.random.randint(1,3)
if i==1:
if 0<m<9:
if j==1:
m=m+1
elif j==2:
m=m-1
elif m==0:
if j==1:
m=1
if j==2:
m=9
elif m==9:
if j==1:
m=0
if j==2:
m=8
print m
MUT1機能をよくするための私は、リストP1作成した場合、:その後
>>>p1=np.array(range(8),int).reshape((4, 2))
を私が書く場合、私は
>>>mut1(p1[1,1])
Hovewer P1リストに(ここでは3)の数で、 "MUT1" を適用します。
>>> p1[1,1]=mut1(p1[1,1])
私はメッセージエラーがあります。
Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: long() argument must be a string or a number, not 'NoneType'
あなたの関数は' NONE'返します。印刷は*同じではありません。それは代わりにコンソールに値を書き込んでいます。 –