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

あなたのリターンは 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 に答える