2012-11-11 87 views
0

我不明白move方法發生了什麼。我正在Udacity.com上學習AI課程。視頻定位是:http://www.udacity.com/view#Course/cs373/CourseRev/apr2012/Unit/512001/Nugget/480015不明白Python方法

下面是代碼我不明白,它不工作,如圖視頻.. 答案,我應該根據Udacity是[越來越0,0,1,0, 0]
這裏是我所得到的[]

p=[0, 1, 0, 0, 0] 


def move(p, U): 
    q = [] 
    for i in range(len(p)): 
     q.append(p[(i-U) % len(p)]) 
     return q 

print move(p, 1) 
+0

應該被移動到codereview.stackexchange.com –

回答

6

壓痕問題。您應外移至您return語句for循環,否則將在第一次迭代後立即返回: -

for i in range(len(p)): 
    q.append(p[(i-U) % len(p)]) 
return q 

而且也,你原來的代碼返回[0]並不僅僅是[]

2

你的回報不應該咬入for循環...

p=[0, 1, 0, 0, 0] 


def move(p, U): 
    q = [] 
    for i in range(len(p)): 
     q.append(p[(i-U) % len(p)]) 
    return q 

print move(p, 1)