2017-02-26 14 views
-3

Pythonでの作業最初のn個の豊富な数値のリストを昇順で返す必要があります。豊富な数値は、その完全な除数の合計よりも小さい整数です。例えば、12は完全な除数(1,2,3,4、および6)が16になるので、豊富な数です。 関数abundant(n)は、最初のn個の豊富な数値を正確に昇順に含むリストを返さなければなりません。たとえば、豊富な(7)は、最初の7つの豊富な番号を持つリストを返します。Pythonの豊富な数値リスト

私が使用しようとしました:

def abundant(n): 
    def factors(value): 
     factors = [x for x in range(1, value + 1 // 2 + 1) if value % x == 0] 
     return factors 
     if sum(factors) > value: 
      return value 
     abundant = factors() 
     return abundant[:n] 
+0

何を試しましたか?何が効いていないのですか?スタックオーバーフローはコード記述サービスではありません。 – miradulo

答えて

1

は、私は、Pythonの専門家ではないんだけど、私はそう、forループをお勧めします:

# From 1 to 10 

n = 0 
for i in range(10): 
     n = n + 1 
     abundant(n) 

は、この情報がお役に立てば幸い!

関連する問題