Python的循環有兩種,一種是for…in循環,依次把list或tuple中的每個元素迭代出來,看例子:
names = [‘Michael’, ‘Bob’, ‘Tracy’]
for name in names:
print(name)
執行這段代碼,會依次打印names的每一個元素:
Michael
Bob
Tracy
所以for x in …循環就是把每個元素代入變量x,然後執行縮進塊的語句。
sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
sum = sum + x
print(sum)
如果要計算1-100的整數之和,從1寫到100有點困難,幸好Python提供一個range()函數,可以生成一個整數序列,再通過list()函數可以轉換爲list。比如range(5)生成的序列是從0開始小於5的整數:
list(range(5))
[0, 1, 2, 3, 4]
range(101)就可以生成0-100的整數序列,計算如下:
sum = 0
for x in range(101):
sum = sum + x
print(sum)
第二種循環是while循環,只要條件滿足,就不斷循環,條件不滿足時退出循環。比如我們要計算100以內所有奇數之和,可以用while循環實現:
sum = 0
n = 99
while n > 0:
sum = sum + n
n = n - 2
print(sum)
在循環內部變量n不斷自減,直到變爲-1時,不再滿足while條件,循環退出。