Python学习笔记:循环语句
前言
最近在學(xué)習(xí)深度學(xué)習(xí),已經(jīng)跑出了幾個(gè)模型,但Pyhton的基礎(chǔ)不夠扎實(shí),因此,開始補(bǔ)習(xí)Python了,大家都推薦廖雪峰的課程,因此,開始了學(xué)習(xí),但光學(xué)有沒有用,還要和大家討論一下,因此,寫下這些帖子,廖雪峰的課程連接在這里:廖雪峰
Python的相關(guān)介紹,以及它的歷史故事和運(yùn)行機(jī)制,可以參見這篇:python介紹
Python的安裝可以參見這篇:Python安裝
Python的運(yùn)行模式以及輸入輸出可以參見這篇:Python IO
Python的基礎(chǔ)概念介紹,可以參見這篇:Python 基礎(chǔ)
Python字符串和編碼的介紹,可以參見這篇:Python字符串與編碼
Python基本數(shù)據(jù)結(jié)構(gòu):list和tuple介紹,可以參見這篇:Python list和tuple
Python控制語句介紹:ifelse,可以參見這篇:Python 條件判斷
目錄:
- 前言
- 循環(huán)語句
- for循環(huán)
- while循環(huán)
- break的使用
- continue的使用
- 小結(jié)
循環(huán)語句
計(jì)算機(jī)之所以極大的提升了我們的生產(chǎn)力,因?yàn)樗梢灾貜?fù)執(zhí)行很多單調(diào)的任務(wù),還沒有任何問題。
for循環(huán)
要計(jì)算1+2+3,我們可以直接寫表達(dá)式:
>>> 1 + 2 + 3+4 10要計(jì)算1+2+3+...+12,勉強(qiáng)也能寫出來。但是,要計(jì)算1+2+3+...+100000,直接寫表達(dá)式就太浪費(fèi)時(shí)間了。為了讓計(jì)算機(jī)能計(jì)算成千上萬次的重復(fù)運(yùn)算,我們就需要使用循環(huán)語句。Python的循環(huán)有兩種,一種是for…in循環(huán),可以依次把list或tuple中的每個(gè)元素迭代出來,舉例子:
names=['mike','bob','cleven'] >>> for i in names:print(i)執(zhí)行這段代碼,會依次打印names的每一個(gè)元素: mike bob cleven所以for x in …循環(huán)就是把list里的每個(gè)元素代入變量x,然后執(zhí)行縮進(jìn)塊的語句。
再比如我們想計(jì)算1-10的整數(shù)之和,可以用一個(gè)sum變量做累加:
sum = 0 for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:sum = sum + x print(sum)如果要計(jì)算1-100的整數(shù)之和,從1寫到100有點(diǎn)困難,幸好Python提供一個(gè)range()函數(shù),可以生成一個(gè)整數(shù)序列,再通過list()函數(shù)可以轉(zhuǎn)換為list。比如range(5)生成的序列是從0開始小于5的整數(shù):
>>> list(range(5)) [0, 1, 2, 3, 4]range(101)就可以生成0-100的整數(shù)序列,計(jì)算如下:
sum = 0 for x in range(101):sum = sum + x print(sum)5050while循環(huán)
第二種循環(huán)是while循環(huán),只要條件滿足,就不斷循環(huán),條件不滿足時(shí)退出循環(huán)。比如我們要計(jì)算100以內(nèi)所有奇數(shù)之和,可以用while循環(huán)實(shí)現(xiàn):
sum = 0 n = 1 while n <100:sum = sum + nn = n +2 print(sum)在循環(huán)內(nèi)部變量n不斷自加,直到變?yōu)?9時(shí),不再滿足while條件,循環(huán)退出。
練習(xí)
請利用循環(huán)依次對list中的每個(gè)名字打印出Hello, xxx!:
names=['mike','bob','cleven'] for i in names:print('hello %s' %i) hello mike hello bob hello clevenbreak的使用
在循環(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: # 當(dāng)n = 11時(shí),條件滿足,執(zhí)行break語句break # break語句會結(jié)束當(dāng)前循環(huán)print(n)n = n + 1 print('END')執(zhí)行上面的代碼可以看到,打印出1~10后,緊接著打印END,程序結(jié)束。
可見break的作用是提前結(jié)束循環(huán)。
continue的使用
在循環(huán)過程中,也可以通過continue語句,跳過當(dāng)前的這次循環(huán),直接開始下一次循環(huán)。
n = 0 while n < 10:n = n + 1print(n)上面的程序可以打印出1~10。但是,如果我們想只打印奇數(shù),可以用continue語句跳過某些循環(huán):
n = 0 while n < 10:n = n + 1if 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)。
小結(jié)
循環(huán)是讓計(jì)算機(jī)做重復(fù)任務(wù)的標(biāo)準(zhǔn)方法。
break語句可以在循環(huán)過程中直接退出循環(huán),而continue語句可以提前結(jié)束本輪循環(huán),并直接開始下一輪循環(huán)。這兩個(gè)語句通常都必須配合if語句使用。
要特別注意,不要濫用break和continue語句。break和continue會造成代碼執(zhí)行邏輯分叉過多,容易出錯。大多數(shù)循環(huán)并不需要用到break和continue語句,上面的兩個(gè)例子,都可以通過改寫循環(huán)條件或者修改循環(huán)邏輯,去掉break和continue語句。
有些時(shí)候,如果代碼寫得有問題,會讓程序陷入“死循環(huán)”,也就是永遠(yuǎn)循環(huán)下去。這時(shí)可以用Ctrl+C退出程序,或者強(qiáng)制結(jié)束Python進(jìn)程。
總結(jié)
以上是生活随笔為你收集整理的Python学习笔记:循环语句的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python:条件判断
- 下一篇: ccs10怎么导入工程文件_FCPX导入