0

我不明白该move方法中发生了什么。我正在学习 Udacity.com 的 AI 课程。视频位置是: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 q

print move(p, 1)
4

2 回答 2

6

缩进问题。您应该将您的 return 语句移到 for 循环之外,否则它将在第一次迭代后立即返回:-

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

而且,您的原始代码会返回[0],而不仅仅是[].

于 2012-11-11T16:51:33.920 回答
2

你的 return 不应该缩进到 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)
于 2012-11-11T16:51:56.640 回答