Python:循環(huán)

for in 循環(huán)

要計算1+2+3,我們可以直接寫表達式:

>>> 1 + 2 + 36

要計算1+2+3+...+10,勉強也能寫出來。但是,要計算1++2+3+...+10000,直接寫表達式就不可能了。

為了讓計算機能計算成千上萬次的重復(fù)運算,我們就需要循環(huán)語句。Python的循環(huán)有兩種,一種是for...in循環(huán),依次把list或tuple中的每個元素迭代出來,看例子:

names = ['Michael', 'Bob', 'Tracy']
for name in names: 
    print(name)

執(zhí)行這段代碼,會依次打印names的每一個元素:

Michael
Bob
Tracy

所以for x in ...循環(huán)就是把每個元素代入變量x,然后執(zhí)行縮進塊的語句。

再比如我們想計算1-10的整數(shù)之和,可以用一個sum變量做累加:

sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]: 
    sum = sum + x
print(sum)

如果要計算1-100的整數(shù)之和,從1寫到100有點困難,幸好Python提供一個range()函數(shù),可以生成一個整數(shù)序列,再通過list()函數(shù)可以轉(zhuǎn)換為list。

比如range(5)生成的序列是從0開始小于5的整數(shù):

>>> list(range(5))
[0, 1, 2, 3, 4]

range(101)就可以生成0-100的整數(shù)序列,計算如下:

sum = 0
for x in range(101):
     sum = sum + x
print(sum)

while循環(huán)

第二種循環(huán)是while循環(huán),只要條件滿足,就不斷循環(huán),條件不滿足時退出循環(huán)。

比如我們要計算100以內(nèi)所有奇數(shù)之和,可以用while循環(huán)實現(xiàn):

sum = 0
n = 99
while n > 0: 
    sum = sum + n 
    n = n - 2
print(sum)

在循環(huán)內(nèi)部變量n不斷自減,直到變?yōu)?1時,不再滿足while條件,循環(huán)退出。

break

在循環(huán)中,break語句可以提前退出循環(huán)。例如,本來要循環(huán)打印1~100的數(shù)字:

n = 1
while n <= 100: 
    print(n)
    n = n + 1
print('END')

上面的代碼可以打印出1~100。
如果要提前結(jié)束循環(huán),可以用break語句:

n = 1
while n <= 100: 
    if n > 10: # 當n = 11時,條件滿足,執(zhí)行break語句 
        break # break語句會結(jié)束當前循環(huán) 
    print(n) 
    n = n + 1
print('END')

執(zhí)行上面的代碼可以看到,打印出1~10后,緊接著打印END,程序結(jié)束。
可見break的作用是提前結(jié)束循環(huán)。

continue

在循環(huán)過程中,也可以通過continue語句,跳過當前的這次循環(huán),直接開始下一次循環(huán)。

n = 0
while n < 10: 
    n = n + 1 
print(n)

上面的程序可以打印出1~10。但是,如果我們想只打印奇數(shù),可以用continue語句跳過某些循環(huán):

n = 0
while n < 10: 
    n = n + 1 
    if n % 2 == 0: # 如果n是偶數(shù),執(zhí)行continue語句 
        continue # continue語句會直接繼續(xù)下一輪循環(huán),后續(xù)的print()語句不會執(zhí)行 
    print(n)

執(zhí)行上面的代碼可以看到,打印的不再是1~10,而是1,3,5,7,9。

可見continue的作用是提前結(jié)束本輪循環(huán),并直接開始下一輪循環(huán)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.1 while循環(huán)語法結(jié)構(gòu) 當需要語句不斷的重復(fù)執(zhí)行,可以使用while循環(huán) 語句while_sutie會被連...
    Ke爺閱讀 1,196評論 0 0
  • Swift 提供了類似 C 語言的流程控制結(jié)構(gòu),包括可以多次執(zhí)行任務(wù)的for和while循環(huán),基于特定條件選擇執(zhí)行...
    窮人家的孩紙閱讀 778評論 1 1
  • “埋下去的,是你,也是我!離開的是我們”。留下這句話時,你已俯視眾生!你用文字一下一下戳中讀者的心底最軟處,五味雜陳
    活著的意義能悟出來嗎閱讀 152評論 0 0

友情鏈接更多精彩內(nèi)容