第5次線下授課課件(循環(huán)結(jié)構(gòu)及異常處理)_第1頁
第5次線下授課課件(循環(huán)結(jié)構(gòu)及異常處理)_第2頁
第5次線下授課課件(循環(huán)結(jié)構(gòu)及異常處理)_第3頁
第5次線下授課課件(循環(huán)結(jié)構(gòu)及異常處理)_第4頁
第5次線下授課課件(循環(huán)結(jié)構(gòu)及異常處理)_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

程序的循環(huán)結(jié)構(gòu)程序的基本結(jié)構(gòu)循環(huán)結(jié)構(gòu)是程序根據(jù)條件判斷結(jié)果向后反復(fù)執(zhí)行的一種運(yùn)行方式,根據(jù)循環(huán)體觸發(fā)條件不同,包括條件循環(huán)和遍歷循環(huán)結(jié)構(gòu)遍歷循環(huán):for語句Python通過保留字for實(shí)現(xiàn)“遍歷循環(huán)”:for<循環(huán)變量>in<遍歷結(jié)構(gòu)>:<語句塊>

遍歷循環(huán):for語句遍歷結(jié)構(gòu)可以是字符串、文件、組合數(shù)據(jù)類型或range()函數(shù):循環(huán)N次foriinrange(N):<語句塊>遍歷文件fi的每一行forlineinfi:<語句塊>遍歷字符串sforcins:<語句塊>遍歷列表lsforiteminls:<語句塊>遍歷結(jié)構(gòu)實(shí)現(xiàn)數(shù)列求和s=1+2+3+…+100。遍歷循環(huán):for語句擴(kuò)展結(jié)構(gòu)遍歷循環(huán)還有一種擴(kuò)展模式,使用方法如下:for<循環(huán)變量>in<遍歷結(jié)構(gòu)>:<語句塊1>else:<語句塊2>遍歷循環(huán):for語句擴(kuò)展結(jié)構(gòu)當(dāng)for循環(huán)正常執(zhí)行之后,程序會(huì)繼續(xù)執(zhí)行else語句中內(nèi)容。else語句只在循環(huán)正常執(zhí)行之后才執(zhí)行并結(jié)束。因此,可以在<語句塊2>中放置判斷循環(huán)執(zhí)行情況的語句。

12345forsin"BIT":print("循環(huán)進(jìn)行中:"+s)else:s="循環(huán)正常結(jié)束"print(s)

>>>

循環(huán)進(jìn)行中:B循環(huán)進(jìn)行中:I循環(huán)進(jìn)行中:T循環(huán)正常結(jié)束無限循環(huán):while語句無限循環(huán):無限循環(huán)一直保持循環(huán)操作直到特定循環(huán)條件不被滿足才結(jié)束,不需要提前知道確定循環(huán)次數(shù)。Python通過保留字while實(shí)現(xiàn)無限循環(huán),使用方法如下:while<條件>:<語句塊>條件循環(huán)實(shí)現(xiàn)數(shù)列求和s=1+2+3+…+100。無限循環(huán):while語句擴(kuò)展結(jié)構(gòu)while<條件>:<語句塊1>else:<語句塊2>

123456s=0foriinrange(5):s=s+i;print("循環(huán)進(jìn)行中")else:print("和值為{}".format(s))

循環(huán)進(jìn)行中循環(huán)進(jìn)行中循環(huán)進(jìn)行中循環(huán)進(jìn)行中循環(huán)進(jìn)行中和值為10>>>兩種循環(huán)結(jié)束的比較for循環(huán)以完成確定的循環(huán)次數(shù)作為循環(huán)結(jié)束的標(biāo)志;while循環(huán)以滿足循環(huán)條件作為循環(huán)結(jié)束的標(biāo)志。while循環(huán)猶如事先確定了需要完成的目標(biāo),通過不斷循環(huán)直至完成目標(biāo)為止,這就猶如同學(xué)們完成各項(xiàng)工作一樣,事先不知道需要多久才能完成,要一步一個(gè)腳印,發(fā)揚(yáng)釘釘子精神,要一錘一錘接著敲,直到把釘子釘實(shí)釘牢。*2013年2月28日,習(xí)近平在中共十八屆二中全會(huì)第二次全體會(huì)議上講話的一部分循環(huán)保留字:break和continue循環(huán)結(jié)構(gòu)有兩個(gè)輔助保留字:break和continue,它們用來輔助控制循環(huán)執(zhí)行break用來跳出最內(nèi)層for或while循環(huán),脫離該循環(huán)后程序從循環(huán)后代碼繼續(xù)續(xù)執(zhí)行

123456s=0foriinrange(101):s=s+i;ifs>1000:print("和值第一次突破1000,i為{},和值為{}".format(i,s))break

和值第一次突破1000,i為45,和值為1035>>>循環(huán)保留字:break和continuecontinue用來結(jié)束當(dāng)前當(dāng)次循環(huán),即跳出循環(huán)體中下面尚未執(zhí)行的語句,但不跳出當(dāng)前循環(huán)。對(duì)于while循環(huán),繼續(xù)求解循環(huán)條件。而對(duì)于for循環(huán),程序流程接著遍歷循環(huán)列表

123foriinrange(1,101):ifi%3!=0:print(i,end="")

輸出1~100以內(nèi)不被3整除的所有數(shù)字。

1234foriinrange(1,101):ifi%3==0:continueprint(i,end="")

循環(huán)保留字:break和continuecontinue語句和break語句的區(qū)別是:continue語句只結(jié)束本次循環(huán),而不終止整個(gè)循環(huán)的執(zhí)行。break語句則是結(jié)束整個(gè)循環(huán)過程,不再判斷執(zhí)行循環(huán)的條件是否成立

1234forsin"PYTHON":ifs=="T":continueprint(s,end="")

1234forsin"PYTHON":ifs=="T":breakprint(s,end="")

>>>

PYHON>>>

PY循環(huán)控制:break和continue輸入一個(gè)整數(shù)m,判斷m是否是素?cái)?shù)。用i遍歷2~m-1,判斷m%i==0?m234……m-1i:若為真,判定不是素?cái)?shù),使用break語句中斷循環(huán);若正常遍歷結(jié)束,則判定是素?cái)?shù)。循環(huán)控制:break和continue輸入一個(gè)整數(shù)m,判斷是否是素?cái)?shù)。1234m=int(input("請(qǐng)輸入整數(shù)m:"))foriinrange(2,m):ifm%i==0:print(“不是素?cái)?shù)")breakelse:print("是素?cái)?shù)")567小組分享討論——循環(huán)的嵌套循環(huán)的嵌套:討論單層循環(huán)實(shí)現(xiàn)判斷某數(shù)是否素?cái)?shù),如何實(shí)現(xiàn)輸出100-1000以內(nèi)的所有素?cái)?shù)?單層循環(huán)實(shí)現(xiàn)計(jì)算某數(shù)階乘值,如何計(jì)算并實(shí)現(xiàn)s=1!+2+3!+…+5!的值?random庫random庫概述隨機(jī)數(shù)在計(jì)算機(jī)應(yīng)用中十分常見,Python內(nèi)置的random庫主要用于產(chǎn)生各種分布的偽隨機(jī)數(shù)序列。random庫采用梅森旋轉(zhuǎn)算法(Mersennetwister)生成偽隨機(jī)數(shù)序列,可用于除隨機(jī)性要求更高的加解密算法外的大多數(shù)工程應(yīng)用。random庫解析函數(shù)描述seed(a=None)初始化隨機(jī)數(shù)種子,默認(rèn)值為當(dāng)前系統(tǒng)時(shí)間random()生成一個(gè)[0.0,1.0)之間的隨機(jī)小數(shù)randint(a,b)生成一個(gè)[a,b]之間的整數(shù)getrandbits(k)生成一個(gè)k比特長(zhǎng)度的隨機(jī)整數(shù)randrange(start,stop[,step])生成一個(gè)[start,stop)之間以step為步數(shù)的隨機(jī)整數(shù)uniform(a,b)生成一個(gè)[a,b]之間的隨機(jī)小數(shù)choice(seq)從序列類型(例如:列表)中隨機(jī)返回一個(gè)元素shuffle(seq)將序列類型中元素隨機(jī)排列,返回打亂后的序列sample(pop,k)從pop類型中隨機(jī)選取k個(gè)元素,以列表類型返回random庫解析對(duì)random庫的引用方法:importrandom

fromrandomimport*循環(huán)結(jié)構(gòu)的應(yīng)用猜數(shù)字游戲系統(tǒng)生成一個(gè)1~1000的隨機(jī)數(shù)字,我們從鍵盤輸入所猜的數(shù),并給出相應(yīng)提示,直至猜中該數(shù)。猜數(shù)字游戲生成目標(biāo)數(shù)字target,1~1000之間導(dǎo)入隨機(jī)庫:生成隨機(jī)數(shù)target:target=random.randint(1,1000)使用隨機(jī)庫的randint()函數(shù),生成一個(gè)隨機(jī)整數(shù)。importrandom猜數(shù)字游戲①系統(tǒng)生成隨機(jī)數(shù)字target②輸入猜的數(shù)字guess③判斷猜的情況:猜小了,重復(fù)執(zhí)行②③步,繼續(xù)游戲猜大了,重復(fù)執(zhí)行②③步,繼續(xù)游戲

猜中了,中止循環(huán),游戲結(jié)束猜數(shù)字游戲猜數(shù)字游戲:討論,游戲增加新要求系統(tǒng)生成一個(gè)1~1000的隨機(jī)數(shù)字,我們從鍵盤輸入所猜的數(shù),并給出相應(yīng)提示,直至猜中該數(shù)。若輸入的數(shù)字不在1~1000范圍內(nèi),則提示,重新輸入猜的數(shù)字。循環(huán)控制:continue語句系統(tǒng)生成隨機(jī)數(shù)字target輸入猜的數(shù)字guess若guess不在1~1000范圍內(nèi),則直接回到步驟②判斷猜的情況:猜小了,重復(fù)執(zhí)行②③④步,繼續(xù)游戲猜大了,重復(fù)執(zhí)行②③④步,繼續(xù)游戲猜中了,中止循環(huán),游戲結(jié)束猜數(shù)字游戲:討論,游戲增加新要求系統(tǒng)生成一個(gè)1~1000的隨機(jī)數(shù)字,我們從鍵盤輸入所猜的數(shù),并給出相應(yīng)提示,直至猜中該數(shù)。若輸入的不是數(shù)值,產(chǎn)生異常,則提示:輸入出錯(cuò),重新輸入。異常處理異常處理:try-except語句Python使用try-except語句實(shí)現(xiàn)異常處理,基本的語法格式如下:try: <語句塊1>except: <語句塊2>執(zhí)行流程:執(zhí)行try業(yè)務(wù)代碼時(shí),出現(xiàn)異常,則將異常交給except塊處理。異常處理:try-except語句

12345try:num=eval(input("請(qǐng)輸入一個(gè)整數(shù):"))

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論