while i<10:
a = a + i
print (a)
i = i+1
また
for i in range(10):
sum = sum + i
print
0
1
3
6
10
15
21
28
36
45
次に、さらにコードを記述してそれらを追加するにはどうすればよいですか? 1+3+6+10+15+21+ という意味です... 次に、合計を変数として設定します。両方のループで私を見せていただければ、それは素晴らしいことです:)
これはどう:
total, totaltotal = 0, 0
for i in range(10):
total += i
totaltotal += total
print total, totaltotal
または、合計のリストを作成し、それらを保存して個別に操作することもできます。
total, totals = 0, []
for i in range(10):
total += i
totals.append(total)
print total
totaltotal = 0
for i in range(10):
totaltotal += totals[i]
print totaltotal
便利な演習として、これをリスト内包表記 (またはジェネレーター式) として書き直すことをお勧めします。
In [26]: summ=0
In [27]: foo=0
In [28]: for i in range(10):
sum+=i #add i to summ
foo+=sum #add summ to foo
....:
....:
In [31]: sum
Out[31]: 45
In [32]: foo
Out[32]: 165
またはワンライナー:
In [58]: sum(map(sum,map(range,range(1,11))))
Out[58]: 165
timeit比較:
In [56]: %timeit sum(sum(i + 1 for i in range(n)) for n in range(1000))
10 loops, best of 3: 128 ms per loop
In [57]: %timeit sum(map(sum,map(range,range(1,1001))))
10 loops, best of 3: 27.4 ms per loop
どうですか
sum(sum(i + 1 for i in range(n)) for n in range(10))
(pythonicアプローチが必要な場合)