![Python核心編程與應(yīng)用 課件 【ch02】程序流程控制_第1頁](http://file4.renrendoc.com/view/fa3f150774fc5bebd481fd265974dbc1/fa3f150774fc5bebd481fd265974dbc11.gif)
![Python核心編程與應(yīng)用 課件 【ch02】程序流程控制_第2頁](http://file4.renrendoc.com/view/fa3f150774fc5bebd481fd265974dbc1/fa3f150774fc5bebd481fd265974dbc12.gif)
![Python核心編程與應(yīng)用 課件 【ch02】程序流程控制_第3頁](http://file4.renrendoc.com/view/fa3f150774fc5bebd481fd265974dbc1/fa3f150774fc5bebd481fd265974dbc13.gif)
![Python核心編程與應(yīng)用 課件 【ch02】程序流程控制_第4頁](http://file4.renrendoc.com/view/fa3f150774fc5bebd481fd265974dbc1/fa3f150774fc5bebd481fd265974dbc14.gif)
![Python核心編程與應(yīng)用 課件 【ch02】程序流程控制_第5頁](http://file4.renrendoc.com/view/fa3f150774fc5bebd481fd265974dbc1/fa3f150774fc5bebd481fd265974dbc15.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Python核心編程與應(yīng)用程序流程控制第二章新工科·數(shù)據(jù)科學(xué)與大數(shù)據(jù)系列01程序基本控制結(jié)構(gòu)程序基本控制結(jié)構(gòu)01順序結(jié)構(gòu)順序結(jié)構(gòu)強(qiáng)調(diào)按照先后順序,自上而下,依次執(zhí)行,如圖2-1所示。例如:num1=int(input(’請輸入第一個(gè)數(shù)字‘))num2=int(input(’請輸入第二個(gè)數(shù)字‘))total=numl+num2print('{}={}={}’.format(numl,num2,total))程序基本控制結(jié)構(gòu)01分支結(jié)構(gòu)分支結(jié)構(gòu),又稱為選擇結(jié)構(gòu),意思是在多個(gè)選擇分支中只能選其中一個(gè),有單分支、雙分支和多分支之分。在Python語言中,單分支結(jié)構(gòu)用if實(shí)現(xiàn),雙分支結(jié)構(gòu)用if-else實(shí)現(xiàn)(如圖2-2所示)多分支結(jié)構(gòu)用if-elif-else實(shí)現(xiàn)。[例2-1]根據(jù)性別區(qū)分不同的稱呼。name=input(請輸入你的姓名)gender=input(請輸入你的性別)if
gender==男:print(’歡迎你,{}小哥哥!‘.format(name))if
gender==女:print(‘歡迎你,{}小姐姐!’.format(name))程序基本控制結(jié)構(gòu)01分支結(jié)構(gòu)在特定條件下不斷地重復(fù)執(zhí)行某一段代碼,這個(gè)重復(fù)執(zhí)行的代碼就是循環(huán)體。循環(huán)條件和循環(huán)體組合在一起就是循環(huán)結(jié)構(gòu),如圖2-3所示。Python有兩種基本的循環(huán)結(jié)構(gòu):while循環(huán)和for循環(huán)?!纠?-2】for循環(huán)程序示例:重要的事情說三遍。foriinrange(3):
#循環(huán)三遍print(‘今天的天氣不錯(cuò)!‘)print('我們一起出去玩吧!‘)分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)變化比較多,尤其當(dāng)結(jié)構(gòu)嵌套時(shí),復(fù)雜度直線上升。02簡單分支結(jié)構(gòu)簡單分支結(jié)構(gòu)02pass語句pass又稱為空語句,不做任何處理,語法上用來占位,保證格式完整、語義完整,避免語法錯(cuò)誤。假如定義一個(gè)函數(shù)或者寫一個(gè)循環(huán)語句時(shí)不知道代碼塊中應(yīng)該寫什么,可以暫時(shí)使用pass代替,代碼即可正常運(yùn)行。例如:簡單分支結(jié)構(gòu)02all()函數(shù)all()函數(shù)的語法格式如下:all(iterable)參數(shù):iterable是一個(gè)可迭代對象。如果iterable中的多個(gè)條件表達(dá)式?jīng)]有一個(gè)元素是0、False或空格,iterable也不為空,那么返回True,否則返回False,簡單地說,就是所有條件都滿足,沒有一個(gè)為假。【例2-5】擇友的條件用all()函數(shù)完成。程序中的條件:all([height>=185,weight<=160,age>=18])與(height>=160andage>=18)等價(jià)。簡單分支結(jié)構(gòu)02any()函數(shù)any()函數(shù)的語法格式如下:any(iterable)參數(shù):iterable是一個(gè)可迭代對象。當(dāng)iterable中的多個(gè)條件表達(dá)式值都是0、False或空格時(shí),結(jié)果為False。如果所有元素中有一個(gè)值非0、
False或空格,那么結(jié)果為True,簡單說就是至少有一個(gè)條件滿足。【例2-6】擇友的條件用any函數(shù)完成表達(dá)式any([height>=185,weight<=160,age>=18])與(height>=185orweight<=160orage>=18)等價(jià),表示只要其中有一個(gè)條件滿足表達(dá)式就為真。03復(fù)制分支結(jié)構(gòu)復(fù)制分支結(jié)構(gòu)03雙分支結(jié)構(gòu)雙分支結(jié)構(gòu)的語法如下:if條件語句1else:語句2表達(dá)如果條件成立,那么執(zhí)行語句1,否則執(zhí)行語句2。【例2-7】用雙分支結(jié)構(gòu)實(shí)現(xiàn)成就分類。雙分支結(jié)構(gòu)能夠?qū)⒃瓉硇枰褂脙蓚€(gè)單分支選擇語句的程序用一個(gè)if-else語句實(shí)現(xiàn)。復(fù)制分支結(jié)構(gòu)03雙分支結(jié)構(gòu)【例2-8】幸運(yùn)數(shù)字測試,假設(shè)幸運(yùn)數(shù)字是6。其中,random是一個(gè)隨機(jī)函數(shù)庫,random.randint(1,10)產(chǎn)生一個(gè)1~10的隨機(jī)整數(shù)。復(fù)制分支結(jié)構(gòu)03多分支結(jié)構(gòu)多分支結(jié)構(gòu)的語法格式如下(如圖2-4所示):if條件1:語塊1elif條件2:語塊2elif條件3:語句塊3······else:語塊n復(fù)制分支結(jié)構(gòu)03多分支結(jié)構(gòu)【例2-9】用多分支結(jié)構(gòu)劃分成績等級。復(fù)制分支結(jié)構(gòu)03多分支結(jié)構(gòu)【例2-10】用多路分支結(jié)構(gòu)實(shí)現(xiàn)請假流程。復(fù)制分支結(jié)構(gòu)03分支嵌套結(jié)構(gòu)分支嵌套就是在分支語句的語句塊中包含另一個(gè)或多個(gè)分支語句,可以表達(dá)復(fù)雜的邏輯結(jié)構(gòu)。【例2-11】通過用戶名和密碼判斷是否為合法用戶。注意:嵌套的分支語句的層次關(guān)系,不同的縮進(jìn)表達(dá)不同的層次。復(fù)制分支結(jié)構(gòu)03分支嵌套結(jié)構(gòu)【例2-12】公園門票計(jì)算規(guī)則如下:1,2,3,9,10,11,12月份是旅游淡季,門票統(tǒng)一8折,若游客是未滿13歲的兒童或超過70的老人,則在此基礎(chǔ)上再6折。程序說明:(4,5,6,7,8)表示元組,monthnotin(4,5,6,7,8)是成員判斷,表示月份不在(4,5,6,7,8)這個(gè)范圍內(nèi)。程序中分支嵌套層級過多會影響代碼的閱讀性,后期也不容易維護(hù),所以盡量減少分支嵌套,簡化業(yè)務(wù)邏輯。復(fù)制分支結(jié)構(gòu)03分支嵌套結(jié)構(gòu)【例2-13】合法用戶身份判斷。若用戶名為“admin”且密碼為“123456”,則是合法用戶,顯示“登錄成功”,否則顯示“密碼不正確”。checkpassword()是用戶自定義函數(shù),判斷密碼是否正確。程序從語句userame-input(‘請輸入用戶名:’)開始執(zhí)行,先判斷用戶名,再判斷密碼。有關(guān)函數(shù)的定義將在第5章討論。04While循環(huán)While循環(huán)04while循環(huán),又稱為條件循環(huán),即當(dāng)條件成立時(shí)執(zhí)行循環(huán)體,重復(fù)這個(gè)過程,直到條件不成立。其語法格式如下:while條件:代碼塊1else:代碼塊2只有當(dāng)while循環(huán)正常結(jié)束時(shí),else子句才執(zhí)行;若while循環(huán)非正常結(jié)束,則不執(zhí)行else子句。while循環(huán)包括:循環(huán)變量初始值,循環(huán)條件,循環(huán)變量的改變。While循環(huán)04【例2-14】計(jì)算1~100的自然數(shù)之和。思考:上述while循環(huán)的3個(gè)組成要素若缺少了其中任意一個(gè),會產(chǎn)生怎樣的結(jié)果?While循環(huán)04【例2-15】求多項(xiàng)式1-2+3-4+5···+99的和本例循環(huán)中嵌套了選擇結(jié)構(gòu)。特別注意,i+=1語句與f語句并列對齊在同一層上。While循環(huán)04【例2-16】100元正好買100只鴨子,大鴨子4元一只,小鴨子1元4只,問一共可買多少只大鴨子和小鴨子。While循環(huán)04【例2-17】編程實(shí)現(xiàn)十進(jìn)制轉(zhuǎn)為二進(jìn)制continue和break是循環(huán)控制語句,分別表示繞過本次循環(huán)和結(jié)束本循環(huán)(見26節(jié))。05for循環(huán)for循環(huán)05for循環(huán)用來遍歷可迭代對象,如遍歷列表、元組、字符串等,列表和元組將在第3章中講述。用引號引起來的字符串也是一個(gè)可迭代對象,其中的一個(gè)個(gè)字符就是這個(gè)可迭代對象的元素,因此用for循環(huán)可方便地遍歷字符串中的字符。for循環(huán)的語法格式如下:for
變量
in
可選代對象:代碼塊1else:代碼塊2注意:變量用來臨時(shí)接受可迭代對象中的元素,不需要事先聲明。for循環(huán)05for循環(huán)用來遍歷可迭代對象,如遍歷列表、元組、字符串等,列表和元組將在第3章中講述。用引號引起來的字符串也是一個(gè)可迭代對象,其中的一個(gè)個(gè)字符就是這個(gè)可迭代對象的元素,因此用for循環(huán)可方便地遍歷字符串中的字符。for循環(huán)的語法格式如下:for
變量
in
可選代對象:代碼塊1else:代碼塊2注意:變量用來臨時(shí)接受可迭代對象中的元素,不需要事先聲明。for循環(huán)05【例2-19】使用for循環(huán)實(shí)現(xiàn)1100之間的所有偶數(shù)和。運(yùn)行結(jié)果:若將循環(huán)改成如下形式,就更簡單:while循環(huán)有三要素,而for循環(huán)將這三要素實(shí)現(xiàn)了自動(dòng)化,程序更方便、簡潔:①不需要初始化變量;②循環(huán)變量自動(dòng)依次取下一個(gè)元素,不需要人為改變;③一旦遍歷完對象循環(huán)便自動(dòng)終止,沒有循環(huán)條件。for循環(huán)05【例2-20】使用for循環(huán)打印如下圖形。代碼如下:for_inrange(4):print('*'
*
8)當(dāng)for循環(huán)的循環(huán)變量不關(guān)心所存放的內(nèi)容,只是用來表示循環(huán)的次數(shù)時(shí),循環(huán)變量可以用下畫線代替。for循環(huán)05【例2-21】編寫隨機(jī)加法運(yùn)算器。依次出5道加法題目,由用戶輸入答案,每答完一道題,就會判斷對錯(cuò),并提示“答對了”或“答錯(cuò)了”。全部答完后,計(jì)算得分并輸出。運(yùn)行結(jié)果:for循環(huán)05randomrandint(1,10)用來產(chǎn)生[1,10]之間的隨機(jī)整數(shù)。random是隨機(jī)函數(shù)庫,需要事先通過import導(dǎo)入。while與for循環(huán)各有特點(diǎn),區(qū)別如下:①while循環(huán)必須初始化變量,循環(huán)條件必須顯式表示,循環(huán)體中需要修改變量。for循環(huán)自動(dòng)實(shí)現(xiàn)這三點(diǎn),特點(diǎn)就是遍歷迭代對象。②while循環(huán)用于預(yù)先不確定循環(huán)次數(shù)的場合,而for循環(huán)用于預(yù)先確定循環(huán)次數(shù)的場合很多情況下,while與for循環(huán)可以通用。06循環(huán)嵌套和循環(huán)控制循環(huán)嵌套和循環(huán)控制06while循環(huán)嵌套while循環(huán)嵌套的語法格式如下:while條件I:代碼塊1while條件2:代碼塊2條件1所在的循環(huán)稱為外循環(huán),條件2所在的循環(huán)稱為內(nèi)循環(huán),Python用縮進(jìn)表達(dá)語句的包含和層次關(guān)系,所以書寫時(shí)內(nèi)循環(huán)作為一個(gè)整體必須縮進(jìn)在外循環(huán)的while下。循環(huán)嵌套執(zhí)行時(shí),當(dāng)條件1成立進(jìn)入外循環(huán)的循環(huán)體時(shí),先運(yùn)行代碼塊1,再運(yùn)行內(nèi)循環(huán)這兩部分都運(yùn)行完畢,則回到外循環(huán),繼續(xù)判斷條件1是否成立;若成立,再次進(jìn)入外循環(huán)的循環(huán)體。打個(gè)比方,地球圍繞著太陽公轉(zhuǎn)就好像外循環(huán),轉(zhuǎn)一圈是365天,那么地球的自轉(zhuǎn)就是內(nèi)循環(huán),自轉(zhuǎn)一圈是24小時(shí)。循環(huán)嵌套和循環(huán)控制06for循環(huán)嵌套for變量Iin可選代對象1:代碼塊1for變量2in可迭代對象2:代碼塊2【例2-24】打印九九乘法表。循環(huán)嵌套和循環(huán)控制06for循環(huán)嵌套運(yùn)行結(jié)果:程序共執(zhí)行外循環(huán)9次,用于控制輸出9行,內(nèi)循環(huán)用于打印第i行,共個(gè)算式,所以循環(huán)i次。每行打印完要換行,所以內(nèi)循環(huán)結(jié)束后要單獨(dú)增加一個(gè)print()函數(shù)。用for循環(huán)套的代碼如下。循環(huán)嵌套和循環(huán)控制06循環(huán)控制語句break循環(huán)過程中可能發(fā)生某些意外,需要提前終止循環(huán),這時(shí)可以用break語句。break在while或for循環(huán)語句中的作用是終止本級循環(huán)?!纠?-26】1~1000的自然數(shù)累加,當(dāng)累加和首次超過3000時(shí),打印加數(shù)項(xiàng)及累加和。運(yùn)行結(jié)果:循環(huán)嵌套和循環(huán)控制06循環(huán)控制語句continue循環(huán)過程中,continue用于在某種情形下跳過本次循環(huán),提前進(jìn)入下一輪循環(huán)。continue強(qiáng)調(diào)的是不再執(zhí)行本次循環(huán)內(nèi)當(dāng)前語句后面的其余語句,重新開始下一次循環(huán)?!纠?-28】打印自然數(shù)10以內(nèi)的偶數(shù)。fornuminrange(10):if(num%2==1):
#跳過奇數(shù)continue
#跳過下面的語句,即不運(yùn)行下面的print,直接進(jìn)入下一輪循環(huán)print(num)
#打印偶數(shù)07聊天機(jī)器人的實(shí)現(xiàn)思路聊天機(jī)器人的實(shí)現(xiàn)思路07聊天機(jī)器人屬于人工智能的范疇。人工智能(ArtificialIntelligence,AI),起源于1956年的達(dá)特茅斯(Dartmouth)會議,由人工智能之父約翰·麥卡錫(JohnMacCarthy)和一批數(shù)學(xué)家、信息學(xué)家、心理學(xué)家、神經(jīng)生理學(xué)家、計(jì)算機(jī)科學(xué)家首次提出,是研究、開發(fā)用于模擬、延伸和擴(kuò)展人的智能的理論、方法、技術(shù)及應(yīng)用的一門新的學(xué)科。近年誕生
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 部編初中歷史八下第12課民族大團(tuán)結(jié)教案
- 年產(chǎn)50萬套中醫(yī)醫(yī)療器械生產(chǎn)線技術(shù)改造項(xiàng)目可行性研究報(bào)告模板-立項(xiàng)拿地
- 中藥烏藥課件
- 2025-2030全球數(shù)字道路行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025-2030全球SCR 尿素系統(tǒng)行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025年全球及中國鉺鐿共摻光纖行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025年全球及中國魚塘凈水器行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025-2030全球汽車出風(fēng)口空氣清新劑行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025年全球及中國IG100氣體滅火系統(tǒng)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025年全球及中國電子學(xué)習(xí)開發(fā)服務(wù)行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025年春節(jié)安全專題培訓(xùn)(附2024年10起重特大事故案例)
- 2025年江蘇太倉水務(wù)集團(tuán)招聘筆試參考題庫含答案解析
- 遼寧省沈陽名校2025屆高三第一次模擬考試英語試卷含解析
- 《中小學(xué)校園食品安全和膳食經(jīng)費(fèi)管理工作指引》專題知識培訓(xùn)
- 2024年新疆區(qū)公務(wù)員錄用考試《行測》真題及答案解析
- 第三章-自然語言的處理(共152張課件)
- 行政事業(yè)單位國有資產(chǎn)管理辦法
- 六年級口算訓(xùn)練每日100道
- 高一生物生物必修一全冊考試題帶答題紙答案
- 北師大版五年級上冊四則混合運(yùn)算100道及答案
- 人教部編版道德與法治八年級下冊:6.3 《國家行政機(jī)關(guān)》說課稿1
評論
0/150
提交評論