国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

【Python】學習筆記——-2.5、循環

2019-11-09 20:37:55
字體:
來源:轉載
供稿:網友

循環

要計算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!

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

上面的代碼可以打印出1~100。

如果要提前結束循環,可以用break語句:

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

執行上面的代碼可以看到,打印出1~10后,緊接著打印END,程序結束。

可見break的作用是提前結束循環。

continue

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

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

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

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

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

可見continue的作用是提前結束本輪循環,并直接開始下一輪循環。

小結

循環是讓計算機做重復任務的有效的方法。

break語句可以在循環過程中直接退出循環,而continue語句可以提前結束本輪循環,并直接開始下一輪循環。這兩個語句通常都必須配合if語句使用。

要特別注意,不要濫用breakcontinue語句。breakcontinue會造成代碼執行邏輯分叉過多,容易出錯。大多數循環并不需要用到breakcontinue語句,上面的兩個例子,都可以通過改寫循環條件或者修改循環邏輯,去掉breakcontinue語句。

有些時候,如果代碼寫得有問題,會讓程序陷入“死循環”,也就是永遠循環下去。這時可以用Ctrl+C退出程序,或者強制結束Python進程。

請試寫一個死循環程序。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南郑县| 富民县| 开鲁县| 诸城市| 克山县| 西和县| 防城港市| 广饶县| 内乡县| 中超| 吉木乃县| 乌拉特中旗| 梁山县| 天津市| 上饶市| 方城县| 中江县| 会昌县| 大邑县| 赤水市| 资源县| 金乡县| 闽清县| 民丰县| 东乡县| 芒康县| 长汀县| 娄底市| 兴隆县| 成武县| 宽甸| 菏泽市| 徐州市| 武汉市| 商城县| 大田县| 梁平县| 广宗县| 虎林市| 长沙市| 札达县|