我是一名Python初學者。我寫了一個函數如下:用數組的輸入寫一個函數...'int'對象沒有屬性'__getitem__'
import numpy as np
def crossover(v1,v2):
N=2
v1n=np.zeros(shape=(1,N+1))
v2n=np.zeros(shape=(1,N+1))
beta=np.random.rand(1)
v1n[0,0]=(1-beta)*v1[0]+beta*v2[0]
v1n[0][1]=v1[1]
v2n[0][0]=(1-beta)*v2[0]+beta*v1[0]
v2n[0][1]=v2[1]
return (v1n,v2n)
時,我想看看交叉([3,4],[7,8]),以下錯誤....:
Traceback (most recent call last):
File "<pyshell#82>", line 1, in <module>
crossover([4,5],[5,4])
File "C:\Python27\crossover.py", line 11, in crossover
v1n[0,0]=(1-beta)*v1[0]+beta*v2[0]
TypeError: 'int' object has no attribute '__getitem__'
您的代碼似乎是我的終端上運行。你確定你已經提供了你正在使用的確切代碼嗎? – Korem 2014-10-19 09:36:11
您的代碼在發佈時運行良好,您確定您發佈了正確的代碼嗎? – 2014-10-19 09:37:11