首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不了解Python方法

不了解Python方法
EN

Stack Overflow用户
提问于 2012-11-12 00:49:10
回答 2查看 125关注 0票数 0

我不明白move方法是怎么回事。我正在选修Udacity.com的AI课程。视频位置为:http://www.udacity.com/view#Course/cs373/CourseRev/apr2012/Unit/512001/Nugget/480015

下面是我不明白的代码,它不能像视频中显示的那样工作。根据Udacity,我应该得到的答案是0,0,1,0,0

这是我得到的[]

代码语言:javascript
复制
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)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-12 00:51:34

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

代码语言:javascript
复制
for i in range(len(p)):
    q.append(p[(i-U) % len(p)])
return q

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

票数 6
EN

Stack Overflow用户

发布于 2012-11-12 00:51:57

你的返回值不应该缩进到for循环中...

代码语言:javascript
复制
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)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13333244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档