2012-03-07 44 views
-1

问题:编写一个首先定义函数evens(n)的程序。该函数应该采用一个整数作为参数,并返回一个由n开始的n个整数的列表,使用范围函数,该函数接受第三个参数,即“step”。使用范围中的第三个参数重写该函数。Python程序需要一个整数并返回一个n甚至整数的列表

我有什么至今:

def evens(n): 
    evensLst = [] 

    for i in range(1,n+1): 
      evensLst.append(2*i) 
    return evensLst 

    for i in range(1,n+1): 
      evensLst.append(3*i) 
    return evensLst 

n = raw_input("Enter an integer: ") 
print "Evens: ", evens(n) 
+0

这甚至不能满足要求。 – 2012-03-07 05:36:44

+1

你真正的问题是什么? – 2012-03-07 05:42:21

+0

我完全迷失了。我用我们的教科书中的一个例子来得到我现在的位置,显然我迷路了,因为我甚至没有接近回答问题。我想我的实际问题是:我如何编写一个函数来使用范围中的第三个参数? – user1210588 2012-03-07 05:48:00

回答

3
def evens(n): 
    return [2*n for n in range(1, n+1)] 

如果您使用的范围“第三”的说法,你得到你正在寻找直接在列表。

def evens(n): 
    return range(2, 2*n+1, 2) 
+0

@ user1210588:这两个函数都返回n个偶数的列表,但只有第二个函数满足使用range()的第三个参数的约束。尝试他们两个,你会看到最后2做了什么。 – Marius 2012-03-07 06:13:03

+0

是学校里很酷的孩子,并使用'lambda'。 'evens = lambda n:[n for n in xrange(1,n + 1,2)]'' – Doboy 2012-03-07 06:13:24

相关问题