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 + ...然後將總數設置爲變量! 這將是巨大的,如果你能告訴我在這兩個循環:)
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 + ...然後將總數設置爲變量! 這將是巨大的,如果你能告訴我在這兩個循環:)
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))
(如果你想有一個Python的方法)
如何:
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
你可能希望將其重寫爲列表理解(甚至是生成器表達式),作爲一種有用的練習。
不要打電話給你的變量總和;這是一個內置函數的名稱。 (你可能想在解釋器控制檯鍵入'help(sum)',因爲它可以幫助你。) – abarnert