python課件第四章程序的控制結(jié)構(gòu):循環(huán)結(jié)構(gòu)培訓(xùn)課件_第1頁
python課件第四章程序的控制結(jié)構(gòu):循環(huán)結(jié)構(gòu)培訓(xùn)課件_第2頁
python課件第四章程序的控制結(jié)構(gòu):循環(huán)結(jié)構(gòu)培訓(xùn)課件_第3頁
python課件第四章程序的控制結(jié)構(gòu):循環(huán)結(jié)構(gòu)培訓(xùn)課件_第4頁
python課件第四章程序的控制結(jié)構(gòu):循環(huán)結(jié)構(gòu)培訓(xùn)課件_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

第四章程序的控制結(jié)構(gòu)

循環(huán)結(jié)構(gòu)教學(xué)要求掌握:循環(huán)結(jié)構(gòu)及其應(yīng)用場景。熟悉:不同類型的遍歷結(jié)構(gòu)。了解:循環(huán)結(jié)構(gòu)的擴展模式。問題導(dǎo)入1+2+……+10+……+100=?1*3*5*7……*11=?1*1=12*1=22*2=43*1=33*2=63*3=94*1=44*2=84*3=124*4=16……8*1=88*2=168*3=248*4=328*5=408*6=488*7=568*8=649*1=99*2=189*3=279*4=369*5=459*6=549*7=639*8=729*9=813循環(huán)結(jié)構(gòu)1、遍歷循環(huán):for語句2、無限循環(huán):while語句4循環(huán)結(jié)構(gòu)流程圖遍歷循環(huán):for語句Python通過保留字for實現(xiàn)遍歷循環(huán)。(1)基本使用方法如下:

for<循環(huán)變量>in

<遍歷結(jié)構(gòu)>:

<語句塊>

遍歷結(jié)構(gòu)可以是字符串、文件、組合數(shù)據(jù)類型或range()函數(shù)等6<取遍歷結(jié)構(gòu)第i個元素><語句塊>元素i遍歷結(jié)束遍歷循環(huán):for語句常見形式有:1)循環(huán)N次foriin

range(N): <語句塊>7例1:在一行輸出0到4的整數(shù)foriinrange(5):print(i,end="")運行結(jié)果:01234輸出ii<5i=0開始結(jié)束N從0開始,不包含5i+=1Y2)計數(shù)循環(huán)(特定次)for

iin

range(M,N,K)

:<語句塊>例2:輸出1到6之間的奇數(shù)。for

iinrange(1,6,2):print(i,end="")運行結(jié)果:135輸出ii<6i=1開始結(jié)束Ni+=2Y3)遍歷字符串S例3:輸出字符串中每個字符。

for

cin

"Python":print(c,end="")運行結(jié)果:Pythonfor

cin

s: <語句塊>輸出ccin“Python”開始結(jié)束YN讀取下一個字符4)遍歷列表ls例4:輸出列表中的每個元素。name=["張華","蔡巧","肖雨","王正","李賀"]foriteminname:print(item,end="")運行結(jié)果:張華蔡巧肖雨王正李賀for

itemin

ls: <語句塊>輸出itemiteminname列表中嗎開始結(jié)束YN讀取下一個元素for

linein

fi: <語句塊>例5:讀取文件中每行數(shù)據(jù)。fi=open('D:\lx.txt','r')forlineinfi:

print(line)fi.close()

運行結(jié)果:盛年不重來一日難再晨及時當(dāng)勉勵歲月不待人輸出每行數(shù)據(jù)是否到文件尾打開文件開始結(jié)束Y關(guān)閉文件N5)遍歷文件fi的每一行foriinrange(3):print(i+1,end="")以上程序運行結(jié)果是()123012123012ABCD提交單選題1分foriinrange(8,1,-2):print(i)以上程序輸出的第3個值為()2864ABCD提交單選題1分使用方法如下:for<循環(huán)變量>in<遍歷結(jié)構(gòu)>:<語句塊1>else: <語句塊2><取遍歷結(jié)構(gòu)第i個元素><語句塊1><語句塊2>元素i遍歷結(jié)束(2)遍歷循環(huán)的一種擴展模式在擴展模式中,當(dāng)for循環(huán)正常執(zhí)行之后,程序會繼續(xù)執(zhí)行else語句中的內(nèi)容。else語句只在循環(huán)正常執(zhí)行并結(jié)束后才執(zhí)行,因此,可以在<語句塊2>中放置判斷循環(huán)執(zhí)行情況的語句。注意:例6:用for循環(huán)的擴展形式輸出字符串中的字母Sin”Python”YNforsin

"Python":print("循環(huán)進行中"+s)else:s="循環(huán)正常結(jié)束"print(s)程序執(zhí)行后的結(jié)果如下:循環(huán)進行中P循環(huán)進行中y循環(huán)進行中t循環(huán)進行中h循環(huán)進行中o循環(huán)進行中n循環(huán)正常結(jié)束開始結(jié)束循環(huán)進行中+S循環(huán)正常結(jié)束例7:求1到100內(nèi)的整數(shù)和遍歷i取值[1,101)YNsum=0foriinrange(1,101):

sum+=iprint("sum=",sum)運行結(jié)果:sum=5050開始結(jié)束輸出sum輸入sum=0sum+=i例8:求10的階乘遍歷i取值[1,11)YNproduct=1foriinrange(1,11):product*=iprint("product=",product)運行結(jié)果:product=3628800開始結(jié)束輸出product輸入product=1Product*=i下面程序的執(zhí)行結(jié)果是()。s=0

foriinrange(1,101):

s+=i

else:

print(1)012101ABCD提交單選題1分無限循環(huán)(條件循環(huán))While語句當(dāng)很多應(yīng)用無法在執(zhí)行之處確定遍歷結(jié)構(gòu),需要編程語言提供根據(jù)條件進行循環(huán)的語法,稱為無限循環(huán),又稱條件循環(huán)。無限循環(huán)一直保持循環(huán)操作直到循環(huán)條件不滿足才結(jié)束,不需要提前確定循環(huán)次數(shù)。Python通過保留字While實現(xiàn)無限循環(huán),基本使用方法如下:流程圖,如圖所示

While<條件>:

<語句塊>While<條件表達式><語句塊>YN條件與if語句中的判斷條件一樣,結(jié)果為True和False。在While語句中,當(dāng)條件判斷為True時,循環(huán)體重復(fù)執(zhí)行語句塊中的語句當(dāng)條件為False時,循環(huán)終止。無限循環(huán)也有一種使用保留字else的擴展模式,使用方法如下:

While<條件>:

<語句塊1>else:<語句塊2>While<條件表達式><語句塊1>YN<語句塊2>While循環(huán)擴展模式例9:我國有13億人口,按人口年增長0.8%計算,多少年后我國人口超過26億?Whilepeople<=26YN開始結(jié)束輸出num輸入當(dāng)前人口數(shù)people*=1.008num+=1num=0people=eval(input("請輸入當(dāng)前人口(億):"))num=0whilepeople<=26:people*=1.008num+=1print("num=",num)當(dāng)While循環(huán)正常執(zhí)行后,程序會繼續(xù)執(zhí)行else語句中的內(nèi)容。else語句只在循環(huán)正常執(zhí)行后才執(zhí)行,因此,可以在語句塊2中放置判斷循環(huán)執(zhí)行情況的語句。注意:s,idx="Python",0whileidx<len(s):print("循環(huán)進行中:"+s[idx])idx+=1else:s="循環(huán)正常結(jié)束"

print(s)例10:用While循環(huán)輸出字符串中的字母開始結(jié)束Id<len(s)S,idx=“Python”,0輸出字母idx+=1輸出SS=“正常結(jié)束”YN程序執(zhí)行后的結(jié)果如下:循環(huán)進行中:P循環(huán)進行中:y循環(huán)進行中:t循環(huán)進行中:h循環(huán)進行中:o循環(huán)進行中:n循環(huán)正常結(jié)束注意:如果通過While實現(xiàn)一個計數(shù)循環(huán),需要在循環(huán)之前對計數(shù)器idx進行初始化,并在每次循環(huán)中對計數(shù)器idx進行累加,如上述代碼第4行。對比一下,在for循環(huán)中循環(huán)變量逐一取自遍歷結(jié)構(gòu),程序的計數(shù)器不需要累加。下列則程序的輸出結(jié)果是()。s='新疆醫(yī)科大學(xué)'i=1whilei<len(s):print(s[i],end='')i=i+2新疆醫(yī)科大學(xué)新醫(yī)大疆科學(xué)醫(yī)科大學(xué)ABCD提交單選題1分小結(jié)掌握:循環(huán)結(jié)構(gòu)及其應(yīng)用場景。熟悉:不同類型的遍歷結(jié)構(gòu)。了解:循環(huán)結(jié)構(gòu)的擴展模式。下列程序的功能是輸出100的階乘,請補充()處的代碼。s=1foriinrange():s=s*iprint(s)1001011,1001,101,1ABCD提交單選題1分下列程序的運行結(jié)果是()。while2==2: print("hello")hello無限次輸出hello語法錯誤hellohelloABCD提交單選題1

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論