要計算1+2+3,我們可以直接寫表達式:
>>> 1 + 2 + 36要計算1+2+3+...+10,勉強也能寫出來。
但是,要計算1+2+3+...+10000,直接寫表達式就不可能了。
為了讓計算機能計算成千上萬次的重復運算,我們就需要循環語句。
Python的循環有兩種,一種是for...in循環,依次把list或tuple中的每個元素迭代出來,看例子:
names = ['Michael', 'Bob', 'Tracy']for name in names: PRint(name)執行這段代碼,會依次打印names的每一個元素:
MichaelBobTracy所以for x in ...循環就是把每個元素代入變量x,然后執行縮進塊的語句。
再比如我們想計算1-10的整數之和,可以用一個sum變量做累加:
sum = 0for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: sum = sum + xprint(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 = 0for x in range(101): sum = sum + xprint(sum)請自行運行上述代碼,看看結果是不是當年高斯同學心算出的5050。
第二種循環是while循環,只要條件滿足,就不斷循環,條件不滿足時退出循環。比如我們要計算100以內所有奇數之和,可以用while循環實現:
sum = 0n = 99while n > 0: sum = sum + n n = n - 2print(sum)在循環內部變量n不斷自減,直到變為-1時,不再滿足while條件,循環退出。
練習
請利用循環依次對list中的每個名字打印出Hello, xxx!:
新聞熱點
疑難解答