本章主講 李俊萩.ppt

本章主講 李俊萩.ppt

ID:52181945

大?。?78.00 KB

頁數(shù):19頁

時(shí)間:2020-04-02

本章主講 李俊萩.ppt_第1頁
本章主講 李俊萩.ppt_第2頁
本章主講 李俊萩.ppt_第3頁
本章主講 李俊萩.ppt_第4頁
本章主講 李俊萩.ppt_第5頁
資源描述:

《本章主講 李俊萩.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在PPT專區(qū)-天天文庫。

1、本章主講李俊萩第4章循環(huán)結(jié)構(gòu) 程序設(shè)計(jì)計(jì)算機(jī)編程導(dǎo)論4.3for語句for迭代項(xiàng)in序列:循環(huán)體循環(huán)體是否Python提供的另一個(gè)循環(huán)機(jī)制是for語句,它提供了Python中最強(qiáng)大的循環(huán)結(jié)構(gòu)。Python中的for語句與傳統(tǒng)的for語句不太一樣,它接受可迭代對(duì)象(例如序列或迭代器)作為其參數(shù),每次迭代其中的一個(gè)元素。迭代項(xiàng)還在序列中嗎?計(jì)算機(jī)編程導(dǎo)論列表、元組、字符串都是序列。序列類型有著相同的訪問模式:它的每一個(gè)元素可以通過指定一個(gè)偏移量的方式得到;而多個(gè)元素可以通過切片操作的方式得到。序列操作可以通過很多內(nèi)建函

2、數(shù)來實(shí)現(xiàn),比如求序列長度len();求最大值max();最小值min();求和sum();排序sorted()等,以上這些內(nèi)建函數(shù)的實(shí)現(xiàn)都離不開循環(huán)結(jié)構(gòu)。4.3.1for語句用于序列類型計(jì)算機(jī)編程導(dǎo)論【例4-10】創(chuàng)建1個(gè)由分?jǐn)?shù)構(gòu)成的列表,求出所有分?jǐn)?shù)的平均分。方法一:使用Python的內(nèi)建函數(shù)sum()求和,然后再求平均分。>>>score=[70,90,78,85,97,94,65,80]>>>score[70,90,78,85,97,94,65,80]>>>aver=sum(score)/8.0>>>aver

3、82.375計(jì)算機(jī)編程導(dǎo)論方法二:使用for語句,通過序列索引進(jìn)行迭代?!痉治觥浚?)以上列表score有8個(gè)元素,這些元素的序列索引范圍是“0~7”。(2)本題用到成員測(cè)試運(yùn)算符“in”,如果成員在序列中,測(cè)試結(jié)果為“True”,否則為“False”。(3)本題用到計(jì)算序列長度的內(nèi)建函數(shù)len()。(4)本題用到內(nèi)建函數(shù)range(),range()函數(shù)的完整語法要求提供2個(gè)或3個(gè)整型參數(shù):range(start,end,step)計(jì)算機(jī)編程導(dǎo)論score=[70,90,78,85,97,94,65,80]s=0

4、print'所有的分?jǐn)?shù)值是:'#以下for語句的i是迭代項(xiàng),內(nèi)建函數(shù)len(score)的執(zhí)行結(jié)果是8#內(nèi)建函數(shù)range(8)返回一個(gè)列表[0,1,2,3,4,56,7]#運(yùn)算符in是判斷迭代項(xiàng)i是否還在列表[0,1,23,4,5,67]中foriinrange(len(score)):s+=score[i]#循環(huán)體——對(duì)列表元素求和printscore[i],aver=s/8.0#循環(huán)之后,求平均值print'aver=',aver程序:計(jì)算機(jī)編程導(dǎo)論方法三:使用for語句,通過序列項(xiàng)進(jìn)行迭代。score=

5、[70,90,78,85,97,94,65,80]print'所有的分?jǐn)?shù)值是:'sum=0#以下for語句使用運(yùn)算符in判斷迭代項(xiàng)i是否在列表score中foriinscore:sum+=i#循環(huán)體——對(duì)列表元素求和printi,aver=sum/8.0#循環(huán)之后,求平均值print'aver=',aver程序:計(jì)算機(jī)編程導(dǎo)論使用內(nèi)建函數(shù)range()可以把Python中的for語句變成與其它語言中的for語句更為相似的計(jì)數(shù)循環(huán)模式。例如,從0計(jì)數(shù)到10,每次遞增1。4.3.2for語句用于計(jì)數(shù)循環(huán)【例4-12

6、】編程求以下表達(dá)式的值,其中n值從鍵盤輸入。參考值:當(dāng)n=10時(shí),s=2.928968。計(jì)算機(jī)編程導(dǎo)論方法一:本題屬于級(jí)數(shù)求和問題,循環(huán)次數(shù)確定,使用while語句編程。n=eval(input('請(qǐng)輸入n的值:'))i=1s=0whilei<=n:s=s+1.0/i#求和i=i+1#i自增1print('s=',s)#打印結(jié)果程序:計(jì)算機(jī)編程導(dǎo)論方法二:使用for語句編程。n=int(raw_input('請(qǐng)輸入n值:'))s=0#以下for語句使用運(yùn)算符in判斷迭代項(xiàng)i是否在列表[1,2,3,…,n]#中,i每

7、次遞增1foriinrange(1,n+1,1):s=s+1.0/i#求和print'1+1/2+...+1/',n,'=',s#打印結(jié)果程序:計(jì)算機(jī)編程導(dǎo)論循環(huán)的嵌套是指在一個(gè)循環(huán)中又包含另外一個(gè)完整的循環(huán),即循環(huán)體中又包含循環(huán)語句。while循環(huán)和for循環(huán)可以相互嵌套。循環(huán)嵌套的執(zhí)行過程是:一次外循環(huán)對(duì)應(yīng)著完整的一輪內(nèi)循環(huán)。請(qǐng)思考以下程序段的執(zhí)行效果:foriinrange(5):forjinrange(2):print('*',end='')利用for語句實(shí)現(xiàn)雙層循環(huán)嵌套計(jì)算機(jī)編程導(dǎo)論【例4-13】使用fo

8、r循環(huán)的嵌套結(jié)構(gòu)打印9-9乘法表【分析】9-9乘法表由9行組成,每行的列數(shù)有規(guī)律地遞增。通過觀察可以看出,表達(dá)式“X*Y=Z”中的X是內(nèi)循環(huán)變量j的取值,Y是外循環(huán)變量i的取值,Z是X乘以Y的結(jié)果。計(jì)算機(jī)編程導(dǎo)論計(jì)算機(jī)編程導(dǎo)論foriinrange(1,10,1):#控制行forjinrange(1,i+1,1):#控制列printi,'*',j,'=',i

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。