2012-03-07 9 views
-1

質問:最初に関数evens(n)を定義するプログラムを書く。この関数は引数として整数をとり、 "step"である3番目の引数を取るrange関数を使用して2で始まるn個の偶数の整数のリストを返す必要があります。範囲内の3番目の引数を使用して関数を書き換えます。整数を受け取り、n個の偶数の整数のリストを返すPythonプログラム

私がこれまで持っているもの:

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

これは、要件を満たすことにも至りません。 –

+1

あなたの実際の質問は何ですか? –

+0

私は完全に失われています。私は教科書の例を使って私が今どこにいるかを知っています。問題に答えることさえ近くないので、私は失われているようです。私の実際の質問は、次のようなものです:範囲内の3番目の引数を使用する関数を作成するにはどうすればよいですか? – user1210588

答えて

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

あなたが範囲の「第3」の引数を使用する場合は、あなたが直接探しているリストを取得します。

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

@ user1210588:これらの関数は両方ともn個の偶数のリストを返しますが、2番目の関数だけがrange()の3番目の引数を使用するという制約を満たします。両方を試してみると、最終2が何をするのかが分かります。 – Marius

+0

学校ではクールな子供になり、「ラムダ」を使用します。 'evens = lambda n:[xrange(1、n + 1,2)のnに対してn]]' – Doboy

関連する問題