python将范围传递给函数

时间:2015-08-10 16:00:59

标签: python

def my_function(x):
    for i in range(0, len(x)):
        x[i] = x[i] * 2
    return x
print my_function(range(0,1,2)) # Add your range between the parentheses!

我在这里做错了什么?除了零之外,它不会返回任何东西。

1 个答案:

答案 0 :(得分:2)

它正在工作,你只是没有传递足够长的输入

range(0, 1, 2)

等于

[0]

所以

my_function(range(0,1,2))

等于

[0]

尝试

my_function(range(10))

等于

[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

documentation for the range function将签名设为

range(start, stop[, step])

所以range(0, 1, 2)表示"从0开始,以2"但是开始后范围中的下一个项目将是2,这比停止值更重要,因此不会发出。