版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、本章主講,趙家剛,第,4,章,循環(huán)結(jié)構(gòu),程序設(shè)計(jì),2,計(jì)算機(jī)編程導(dǎo)論,1-2,Copyright ? SWFU-CISD, 2012. All rights reserved.,4.3.3,while,語(yǔ)句用于無(wú)限循環(huán),要點(diǎn):,?,循環(huán)結(jié)構(gòu)理解,?,二重循環(huán)結(jié)構(gòu)理解,?,二重循環(huán)的應(yīng)用,計(jì)算機(jī)編程導(dǎo)論,1-3,Copyright ? SWFU-CISD, 2012. All rights reserved.,4.3.3,while,語(yǔ)句用于無(wú)限循環(huán),?,當(dāng),while,語(yǔ)句的“表達(dá)式”永遠(yuǎn)不會(huì)為布爾假時(shí),,循環(huán)將永遠(yuǎn)不會(huì)結(jié)束,形成無(wú)限循環(huán),也稱死,循環(huán)。,?,使用,while,語(yǔ)句構(gòu)成無(wú)限循環(huán)
2、的格式通常為:,while True:,循環(huán)體,?,可以在循環(huán)體內(nèi)使用,break,語(yǔ)句,強(qiáng)制結(jié)束死循,環(huán)。,計(jì)算機(jī)編程導(dǎo)論,1-4,Copyright ? SWFU-CISD, 2012. All rights reserved.,【例,4-5,】使用無(wú)限循環(huán)的方法編程實(shí)現(xiàn)例,4-2,。,a = input(,請(qǐng)輸入字符,如果輸入,#,號(hào),則結(jié)束輸入操作,: ),while True:,print(,您輸入的字符是:, a),a = input(,請(qǐng)輸入字符,如果輸,入,#,號(hào)則結(jié)束輸入操作,: ),if a = #:,break,程序:,圖,4-7,無(wú)限循環(huán)的框圖,開(kāi)始,結(jié)束,False,
3、True,輸入一個(gè)字符,不是字符,#,嗎?,True,輸出該字符,表達(dá)式,恒為真,計(jì)算機(jī)編程導(dǎo)論,1-5,Copyright ? SWFU-CISD, 2012. All rights reserved.,【例,4-6,】求以下表達(dá)式的值,其中,n,值從鍵盤(pán)輸,入。參考值:當(dāng),n = 11,時(shí),,s = 1.833333,。,n,s,?,?,?,?,?,?,?,?,?,?,?,?,?,?,3,2,1,1,3,2,1,1,2,1,1,1,計(jì)算機(jī)編程導(dǎo)論,1-6,Copyright ? SWFU-CISD, 2012. All rights reserved.,【分析】,(,1,)以上問(wèn)題屬于數(shù)學(xué)
4、中的級(jí)數(shù)求和問(wèn)題,是使用,循環(huán)結(jié)構(gòu)解決的一類常見(jiàn)問(wèn)題。,(,2,)級(jí)數(shù)求和問(wèn)題編程的重點(diǎn)在于通過(guò)觀察表達(dá)式,的規(guī)律,分析每次循環(huán)都要完成的事件。通常將這,些事件進(jìn)行局部分解,稱為“,通式,”。,該題的通式有以下幾個(gè):,(,1,)分母的通式:,(,2,)變量,i,的通式:,(,3,)當(dāng)前項(xiàng)的通式:,(,4,)求和的通式:,mu = mu + i,i = i + 1,t = 1.0 / mu,s = s + t,計(jì)算機(jī)編程導(dǎo)論,1-7,Copyright ? SWFU-CISD, 2012. All rights reserved.,i=1,mu = 0,s = 0.0,n = input(,請(qǐng)輸
5、入,n,值,: ) #,或用書(shū)上的代碼,while i = n:,#,判斷是否計(jì)算到表達(dá)式的最后一項(xiàng),mu = mu + i,#,求分母的通式,i += 1,# i,自增的通式,t = 1.0 / mu,#,求當(dāng)前項(xiàng)的通式,s = s + t,#,求和的通式,print s = , s,#,循環(huán)結(jié)束后,打印總和,程序:,提問(wèn):,(,1,)變量,i,、,mu,、,s,的初值只能是,1,、,0,、,0.0,嗎?,(,2,)循環(huán)體內(nèi)語(yǔ)句的先后順序可以隨意調(diào)換嗎?,計(jì)算機(jī)編程導(dǎo)論,1-8,Copyright ? SWFU-CISD, 2012. All rights reserved.,【例,4-7,
6、】,通過(guò)以下表達(dá)式求,的近似值,當(dāng)某項(xiàng)小于,0.00000001,(即,1e-8,)時(shí)停止循環(huán)。,),1,2,(,5,3,2,1,9,7,5,3,4,3,2,1,7,5,3,3,2,1,5,3,2,1,3,1,1,2,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,n,n,?,?,?,?,?,計(jì)算機(jī)編程導(dǎo)論,1-9,Copyright ? SWFU-CISD, 2012. All rights reserved.,分析:,該題使用循環(huán)結(jié)構(gòu)來(lái)解決,只有當(dāng)某一項(xiàng)小于,1e-8,時(shí)才,停止迭代,因此循環(huán)次數(shù)是不確定的。觀察表達(dá)式中,相鄰兩項(xiàng)的規(guī)
7、律是,前一項(xiàng)的分子乘以,1,個(gè)整數(shù),值“,i,”可得后一項(xiàng)的分子,而這個(gè)整數(shù)值“,i,”隨著,循環(huán)次數(shù)由,1,遞增到,n,;前一項(xiàng)的分母乘以“,2*i+1,”,可得后一項(xiàng)的分母。該題的通式有以下幾個(gè):,(,1,)分子的通式:,zi = zi * i,(,2,)分母的通式:,mu = mu * (2 * i + 1),(,3,)變量,i,的通式:,i = i + 1,(,4,)當(dāng)前項(xiàng)的通式:,t,= zi*1.0/mu,(,5,)求和通式:,s=s+t,計(jì)算機(jī)編程導(dǎo)論,1-10,Copyright ? SWFU-CISD, 2012. All rights reserved.,程序:,#Exp4
8、_7.py,i = 1,zi = 1.0,mu = 1.0,t = 1.0,s = 0.0,while t = 1e-8:,s = s + t,zi = zi * i,mu = mu * ( 2 * i + 1),t = zi * 1.0 / mu,i += 1,print PAI = , (2 * s),判斷,t = 1e-8,?,將,t,累加到,s,圖,4-9,求近似值的框圖,開(kāi)始,結(jié)束,False,True,初始化,zi,、,mu,、,i,、,t,、,s,求分子,zi,、分母,mu,求當(dāng)前項(xiàng),t,i,自增,1,輸出,的近似值,計(jì)算機(jī)編程導(dǎo)論,1-11,Copyright ? SWFU-C
9、ISD, 2012. All rights reserved.,【例,4-8,】,求,1 100,之間能被,7,整除,但不能同,時(shí)被,5,整除的所有整數(shù),。,【分析】,(,1,)本題需要對(duì),1 100,范圍內(nèi)的所有數(shù)一一進(jìn),行判斷。,(,2,)本題的循環(huán)次數(shù)確,定是,100,次。,(,3,)在每次循環(huán)過(guò)程中,需要用,if,語(yǔ)句進(jìn)行條件,判斷。因此本題是循環(huán),嵌套選擇的結(jié)構(gòu)。,判斷,i = 100,?,圖,4-10,整除問(wèn)題的框圖,開(kāi)始,結(jié)束,False,True,i,自增,1,為,i,賦初值,1,判斷,i,是否能被,7,整除但不能被,5,整,True,False,輸出,i,計(jì)算機(jī)編程導(dǎo)論,1-
10、12,Copyright ? SWFU-CISD, 2012. All rights reserved.,i = 1,# i,既是循環(huán)變量,同時(shí)又是被判斷的數(shù),print(1100,之間能被,7,整除,但不能同時(shí)被,5,整除的所有數(shù)是,:),while i = 100:,#,判斷循環(huán)是否結(jié)束,if i % 7 = 0 and i % 5 != 0:,#,判斷本次的,i,是否滿足條件,print i, t ,#,打印滿足條件的,i,i += 1,#,每次循環(huán),i,應(yīng)自增,程序:,提問(wèn):,請(qǐng)問(wèn)語(yǔ)句“,i += 1,”可以和語(yǔ)句,“,print i, t ,”對(duì)齊嗎?,計(jì)算機(jī)編程導(dǎo)論,1-13,Co
11、pyright ? SWFU-CISD, 2012. All rights reserved.,【例,4-9,】輸出“水仙花數(shù)”。所謂水仙花數(shù)是指,1,個(gè),3,位的十進(jìn)制數(shù),其各位數(shù)字的立方和等于該數(shù)本身。,例如:,153,是水仙花數(shù),因?yàn)?153 = 1,3,+ 5,3,+ 3,3,。,【分析】,(,1,)本題需要對(duì),100 999,范圍內(nèi)的所有數(shù)一一進(jìn)行,判斷。,(,2,)本題的變量,i,既是循,環(huán)變量,同時(shí)也是被判斷,的數(shù)。,(,3,)每次循環(huán)過(guò)程中需要,用,if,語(yǔ)句進(jìn)行條件判斷。,因此本題也是循環(huán)嵌套選,擇的結(jié)構(gòu)。,計(jì)算機(jī)編程導(dǎo)論,1-14,Copyright ? SWFU-CISD
12、, 2012. All rights reserved.,提問(wèn):,變量,i,是一個(gè)三位整數(shù),例如,i = 123,(,1,)請(qǐng)寫(xiě)出分離,i,的百位數(shù)的表達(dá)式。,(,2,)請(qǐng)寫(xiě)出分離,i,的十位數(shù)的表達(dá)式。,(,3,)請(qǐng)寫(xiě)出分離,i,的個(gè)位數(shù)的表達(dá)式。,i = 100,print(,所有的水仙花數(shù)是:,),while i = 999:,#,判斷循環(huán)是否結(jié)束,bai = int(i / 100),#,分離,i,的百位數(shù),shi = int(i % 100) / 10),#,分離,i,的十位數(shù),ge = int(i % 10),#,分離,i,的個(gè)位數(shù),if bai * 3 + shi * 3 + g
13、e * 3 = i:,#,判斷條件,print,i,#,打印水仙花數(shù),i += 1,#,變量,i,自增,程序:,計(jì)算機(jī)編程導(dǎo)論,1-15,Copyright ? SWFU-CISD, 2012. All rights reserved.,4.4,for,語(yǔ)句,for,取值,in,序列,:,循環(huán)體,循環(huán)體,是,否,Python,提供的另一個(gè)循環(huán)機(jī)制是,for,語(yǔ)句,它提供了,Python,中最強(qiáng)大的循環(huán)結(jié)構(gòu)。,Python,中的,for,語(yǔ)句與傳統(tǒng)的,for,語(yǔ)句不太一樣,它接受可迭代對(duì)象(例如序列或迭代器,)作為其參數(shù),每次迭代其中的一個(gè)元素。,還有值未取嗎?,計(jì)算機(jī)編程導(dǎo)論,1-16,Cop
14、yright ? SWFU-CISD, 2012. All rights reserved.,?,列表、元組、字符串都是序列。序列類型有著,相同的訪問(wèn)模式:它的每一個(gè)元素可以通過(guò)指,定一個(gè)偏移量的方式得到;而多個(gè)元素可以通,過(guò)切片操作的方式得到。,?,序列操作可以通過(guò)很多內(nèi)建函數(shù)來(lái)實(shí)現(xiàn),比如,求序列長(zhǎng)度,len( ),;求最大值,max( ),;最小值,min( ),;求和,sum( ),;排序,sorted( ),等,以上,這些內(nèi)建函數(shù)的實(shí)現(xiàn)都離不開(kāi)循環(huán)結(jié)構(gòu)。,4.3.1 for,語(yǔ)句用于序列類型,計(jì)算機(jī)編程導(dǎo)論,1-17,Copyright ? SWFU-CISD, 2012. All r
15、ights reserved.,【例,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,82.375,計(jì)算機(jī)編程導(dǎo)論,1-18,Copyright ? SWFU-CISD, 2012. All rights reserved.,方法二:使用,for,語(yǔ)句,循環(huán)計(jì)算列表元素之和。,【分
16、析】,(,1,)以上列表,score,有,8,個(gè)元素,這些,元素的序列索引范圍是“,0 7”,。,(,2,)本題用到成員測(cè)試運(yùn)算符“,in,”,如果成員在序列中,測(cè)試結(jié)果為,“,True”,,否則為“,False”,。,(,3,)本題用到計(jì)算序列長(zhǎng)度的內(nèi)建,函數(shù),len( ),。,(,4,)本題用到內(nèi)建函數(shù),range( ),,,range( ),函數(shù)的完整語(yǔ)法要求提供,2,個(gè),或,3,個(gè)整型參數(shù):,range(start, end, step),計(jì)算機(jī)編程導(dǎo)論,1-19,Copyright ? SWFU-CISD, 2012. All rights reserved.,score = 70,
17、 90, 78, 85, 97, 94, 65, 80,print ,所有的分?jǐn)?shù)值是:,print score,#,打印列表,sum = 0,for i in range(len(score):,print scorei,sum += scorei,#,循環(huán)體,對(duì)列表元素求和,aver = sum / 8.0,#,循環(huán)之后,求平均值,print naver = , aver,程序:,計(jì)算機(jī)編程導(dǎo)論,1-20,Copyright ? SWFU-CISD, 2012. All rights reserved.,?,循環(huán)的嵌套是指在一個(gè)循環(huán)中又包含另外一個(gè),完整的循環(huán),即循環(huán)體中又包含循環(huán)語(yǔ)句。,w
18、hile,循環(huán)和,for,循環(huán)可以相互嵌套。,?,循環(huán)嵌套的執(zhí)行過(guò)程是:一次外循環(huán)對(duì)應(yīng)著完,整的一輪內(nèi)循環(huán)。,利用,for,語(yǔ)句實(shí)現(xiàn)雙層循環(huán)嵌套,計(jì)算機(jī)編程導(dǎo)論,1-21,Copyright ? SWFU-CISD, 2012. All rights reserved.,【例,4-13,】,使用,for,循環(huán)的嵌套結(jié)構(gòu)打印,9-9,乘法表,【分析】,9-9,乘法表由,9,行組成,每行的列數(shù)有規(guī)律地遞增。,通過(guò)觀察可以看出,表達(dá)式“,X * Y = Z”,中的,X,是內(nèi)循環(huán)變量,j,的取值,,Y,是外循環(huán)變量,i,的取值,,Z,是,X,乘以,Y,的結(jié)果。,計(jì)算機(jī)編程導(dǎo)論,1-22,Copyrig
19、ht ? SWFU-CISD, 2012. All rights reserved.,for i in range(1, 10, 1):,#,控制行,for j in range(1, i+1, 1):,#,控制列,print i, *, j, =, i*j, ,t,print n,#,每行末尾的換行,程序:,計(jì)算機(jī)編程導(dǎo)論,1-23,Copyright ? SWFU-CISD, 2012. All rights reserved.,【課堂練習(xí)】使用,for,循環(huán)的嵌套結(jié)構(gòu)編程,打,印以下圖形。,(1),矩形,(2),直角三角形,(3),正三角形,計(jì)算機(jī)編程導(dǎo)論,1-24,Copyright
20、? SWFU-CISD, 2012. All rights reserved.,?,Python,提供了一條提前結(jié)束循環(huán)的語(yǔ)句,break,語(yǔ)句。,?,當(dāng)在循環(huán)過(guò)程中,某個(gè)條件被觸發(fā)(一般通過(guò),if,語(yǔ)句檢查),需要立即停止循環(huán)時(shí)使用。,break,語(yǔ)句可以用在,while,和,for,循環(huán)中。,4.4 break,語(yǔ)句,計(jì)算機(jī)編程導(dǎo)論,1-25,Copyright ? SWFU-CISD, 2012. All rights reserved.,【例,4-15,】求,200,以內(nèi)能被,17,整除的最大正整數(shù)。,【分析】這個(gè)查找過(guò)程將以遞,減的方式遍歷,200,至,1,之間的整,數(shù),當(dāng)找到第,1
21、,個(gè)能被,17,整除的,數(shù)時(shí),循環(huán)過(guò)程立即停止,后,續(xù)還沒(méi)有遍歷的數(shù)將無(wú)需再進(jìn),行判斷,因此可以使用,break,語(yǔ),句將循環(huán)提前終止。,for i in range(200, 1, -1):,if i % 17 = 0:,break,print(200,以內(nèi)能被,17,整除的最大,數(shù)是:, i),程序:,計(jì)算機(jī)編程導(dǎo)論,1-26,Copyright ? SWFU-CISD, 2012. All rights reserved.,【例,4-16,】從鍵盤(pán)輸入一個(gè)整數(shù),判斷該數(shù)是否為,素?cái)?shù)。,計(jì)算機(jī)編程導(dǎo)論,1-27,Copyright ? SWFU-CISD, 2012. All rights reserved.,計(jì)算機(jī)編程導(dǎo)論,1-28,Copyright ? SWFU-CISD, 2012. All rights reserved.,#Exp4_16.py,x=input(,請(qǐng)輸入,1,個(gè)整數(shù):,),for i in range(2, x, 1):,if x % i=0:,break,if i=x-1:,print x, ,是素?cái)?shù),elif ix-1:,print
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年車(chē)用起重機(jī)租賃及多語(yǔ)言操作手冊(cè)合同3篇
- 二零二五年度豬肉出口貿(mào)易合同4篇
- 2025年度網(wǎng)絡(luò)安全服務(wù)采購(gòu)合同4篇
- 2025版跨境電商物流配送合同全球速遞4篇
- 2025年洗浴中心承包合同范本正規(guī)范全面解析3篇
- 廣州國(guó)際創(chuàng)新城金光東隧道工程EPC設(shè)計(jì)施工總承包-20211028
- 二零二五年度商業(yè)地產(chǎn)使用權(quán)轉(zhuǎn)讓合同樣本3篇
- 2025年度私人教練勞動(dòng)合同范本(含客戶滿意度調(diào)查)3篇
- 2025年度苗木種植與水資源保護(hù)合作協(xié)議4篇
- 二零二五年度電力工程環(huán)境保護(hù)合同范本
- 人教版小學(xué)數(shù)學(xué)(2024)一年級(jí)下冊(cè)第一單元 認(rèn)識(shí)平面圖形綜合素養(yǎng)測(cè)評(píng) B卷(含答案)
- 企業(yè)年會(huì)攝影服務(wù)合同
- 電商運(yùn)營(yíng)管理制度
- 二零二五年度一手房購(gòu)房協(xié)議書(shū)(共有產(chǎn)權(quán)房購(gòu)房協(xié)議)3篇
- 2025年上半年上半年重慶三峽融資擔(dān)保集團(tuán)股份限公司招聘6人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 城市公共交通運(yùn)營(yíng)協(xié)議
- 內(nèi)燃副司機(jī)晉升司機(jī)理論知識(shí)考試題及答案
- 2024北京東城初二(上)期末語(yǔ)文試卷及答案
- 2024設(shè)計(jì)院與職工勞動(dòng)合同書(shū)樣本
- 2024年貴州公務(wù)員考試申論試題(B卷)
- 電工高級(jí)工練習(xí)題庫(kù)(附參考答案)
評(píng)論
0/150
提交評(píng)論