2016-07-07 5 views

答えて

1

リスト内包表記では、以前の値を参照することはできません。あなたはmore appropriate toolを使用することによってこの問題を回避できます。

from itertools import accumulate 
from operator import mul 
length = 10 
ratio = 2 
progression = list(accumulate([ratio]*length, mul)) 

または以前の値の使用を避けることにより:

progression = [start * ratio**i for i in range(n)] 
0

等比数列がa_n = a * r ** (n - 1)a_n = r * a_(n - 1)によって定義されている場合、あなただけ行うことができます以下:

a = 2 
r = 5 
length = 10 

geometric = [a * r ** (n - 1) for n in range(1, length + 1)] 

print(geometric) 
# [2, 10, 50, 250, 1250, 6250, 31250, 156250, 781250, 3906250] 
関連する問題