[問題] 關於index error

看板Python作者 ("習慣孤單")時間9年前 (2016/06/11 17:27), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/1
小弟在寫程式的時候遇到這個錯誤 dis[i,j]=((lo[i,1]-lo[j,1])**2+(lo[i,2]-lo[j,2])**2)**0.5 IndexError: index 2 is out of bounds for axis 1 with size 2 一直無法除錯 想請教一下版上高手如何修正,感謝 以下為部分程式碼 def random(st,en): a=randint(st,en) b=randint(st,en) while a==b: b=randint(st,en) return (a,b) def dis(lo,l): dis=zeros([l,l]) for i in xrange(l): for j in xrange(l): dis[i,j]=((lo[i,1]-lo[j,1])**2+(lo[i,2]-lo[j,2])**2)**0.5 return dis def price(r,dis,data,l): p=0 for i in xrange(l): for j in xrange(l): p=p+dis[i,j]*data[r[i],r[j]] return p def change(kids,x,X,l): for n in xrange(kids): p1,p2=random(0,l-1) x[p1],x[p2]=x[p2],x[p1] X.append([price(x,dis,data,l),copy(x)]) return X lo=loadtxt("location.txt") l=len(lo) data=loadtxt("data_final.txt") dis=dis(lo,l) n_kids=50 n_gen=100 X=[] 還請高手幫忙看一下 location.txt檔為 92 148 75 36 156 14 6 165 67 91 87 8 98 87 190 32 48 7 53 144 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.170.57.128 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1465637269.A.23A.html

06/11 19:00, , 1F
lo的第二個index是不是應該是0和1?
06/11 19:00, 1F
文章代碼(AID): #1NMzcL8w (Python)
文章代碼(AID): #1NMzcL8w (Python)