




版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年詞匯英語中考試題及答案
- 古詩考試題型選擇及答案
- 2025年理論考查課考試題及答案
- 師大附小筆試題目及答案
- 化學(xué)與極地科學(xué)研究(極地環(huán)境)聯(lián)系試題
- 化學(xué)情景判斷題專項試題
- 古羅馬考試題目及答案
- 中國工商考試試題及答案
- 2025年高考物理“壓軸題解密”思路方法試題(一)
- 2025廣西科技大學(xué)招聘附屬醫(yī)院(臨床醫(yī)學(xué)院)領(lǐng)導(dǎo)干部3人考前自測高頻考點模擬試題及1套參考答案詳解
- 自考:【00107現(xiàn)代管理學(xué)】自考真題2018年4月、10月2套真題
- 組織學(xué)與胚胎學(xué)課件 組織與胚胎學(xué)筆記學(xué)習(xí)資料
- 《公路技術(shù)狀況評定》課件-任務(wù)六:公路技術(shù)狀況指數(shù)MQI
- Unit 3 Amazing animals Section A What pets do you know 說課(教學(xué)設(shè)計)-2024-2025學(xué)年人教PEP版(2024)英語三年級上冊
- 中級財務(wù)會計知到課后答案智慧樹章節(jié)測試答案2025年春云南財經(jīng)大學(xué)
- 2025青海省建筑安全員B證考試題庫及答案
- 現(xiàn)代紡織物清潔技術(shù)培訓(xùn)匯報教程
- 臨床檢驗基礎(chǔ)知到智慧樹章節(jié)測試課后答案2024年秋上海健康醫(yī)學(xué)院
- 鑄牢中華民族共同體意識心得感悟7篇
- 《中國海洋大學(xué)》課件
- 神話故事民間故事《后羿射日》繪本課件
評論
0/150
提交評論