我不理解move
方法中发生了什么。我正在Udacity.com上学习人工智能课程。视频位置是:http://www.udacity.com/view#Course/cs373/CourseRev/apr2012/Unit/512001/Nugget/480015
下面是我不理解的代码,它在视频中显示的方式下无法正常工作…根据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 qprint move(p, 1)
回答:
缩进问题。你应该将返回语句移到for循环之外,否则它会在第一次迭代后立即返回:
for i in range(len(p)): q.append(p[(i-U) % len(p)])return q
另外,你的原始代码返回的是[0]
,而不是[]
。