0
我發給你一個問題,因爲我有一個問題在python上,我不明白爲什麼。 我創建了一個函數「MUT1」更改列表內的號碼(與概率1/2)無論是在加1或減1,但不爲0和9:蟒蛇壞的操作數類型爲一元 - :'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」 在列表中的號碼(這裏3)P1
>>>mut1(p1[1,1])
Hovewer如果我寫:
>>> 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'因爲沒有'在它return'聲明。印刷*不是同一件事*;那就是將價值寫入您的控制檯。 –