




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基本語句及順序結構選擇結構循環結構轉移和中斷語句while...else與for...else語句第3章Python的基本流程控制參考書目《Python程序設計》目錄基本語句及順序結構選擇結構循環結構轉移和中斷語句while...else與for...else語句這里說明圖片內容基本語句及順序結構選擇結構循環結構轉移和中斷語句while...else與for...else語句目錄這里說明圖片內容基本語句及順序結構1基本語句1.賦值語句用賦值號(=)將右邊的值(表達式)賦給左邊變量的語句。name=’李福’age=182.復合型賦值語句用復合運算符(包括算術復合運算符和位復合運算符)的賦值語句。x,y=10,20序列賦值多目標賦值復合賦值x=y=z=20c+=a基本語句及順序結構2順序結構程序工作的一般流程為:數據輸入、運算處理、結果輸出。順序結構是指為了解決某些實際問題,自上而下依次執行各條語句,其流程圖如下:基本語句及順序結構選擇結構循環結構轉移和中斷語句while...else與for...else語句目錄這里說明圖片內容選擇結構1if語句Python中使用if保留字來組成選擇語句。if語句僅處理條件成立的情況,其流程圖如下:if語句由if關鍵字、條件表達式和代碼塊三部分組成,它根據表達式的判斷結果選擇是否執行相應的代碼塊。if表達式: 語句塊選擇結構1if語句if關鍵字可以理解為“如果”,當條件表達式的值為True時,則執行代碼塊。if語句使用過程中的常見錯誤:(1)if語句后面未加冒號。(2)使用if語句時,如果在符合條件時,需要執行多個語句,但是,在第二個輸出語句的位置沒有縮進。選擇結構2if-else語句如果遇到只能二選一的條件,例如,大學畢業是直接就業,還是考研深造。Python中提供了if…else語句解決類似問題:if-else語句產生兩個分支,如果if條件表達式結果為True,則執行代碼塊1;如果條件表達式結果為False,則執行代碼塊2。if表達式: 語句塊1else: 語句塊2選擇結構3if…elif…else語句if…elif…else語句主要用于處理多種條件的情況,從而解決現實生活中復雜的多重選擇問題,其流程如下:若條件表達式1的結果為True,則執行代碼塊1;若條件表達式2的結果為True,則執行代碼塊2,若else前面的條件表達式結果都為False,執行代碼塊n。if表達式1:
語句塊Aelif表達式2:
語句塊Belif表達式3:
語句塊C選擇結構3if…elif…else語句如果只考慮一種表達式成立或不成立的結果(即沒有elif分支),則多分支的if結構轉化為雙分支的if結構。在使用分支結構時,需要注意以下事項:1.表達式可以是任意類型,如5>3,xandy>z,3,0等。其中,3表示恒真(即True),而0表示恒假(即False)。2.可以僅有if子句構成單分支結構,但是else子句必須與if子句配對,不能出現僅有else子句沒有if子句的情況。選擇結構4分支語句嵌套當有多個條件需要滿足并且條件之間有遞進關系時,可以使用分支語句的嵌套。其中,if子句、elif子句以及else子句中都可以嵌套if語句或者if…elif…else子句。書寫格式:嵌套的if語句要求以鋸齒形縮進格式書寫,以便分清層次關系。選擇結構4分支語句嵌套【例3-9】我國的婚姻法規定,男性22歲為合法結婚年齡,女性20歲為合法結婚年齡。因此如果要判斷一個人是否到了合法結婚年齡,首先需要使用雙分支結構判斷性別,再用遞進的雙分支結構判斷年齡,并輸出判斷結果。sex=input("請輸入您的性別(M或者F):")age=int(input("請輸入您的年齡(1~20):"))ifsex=='M':ifage>=22:print("到達合法結婚年齡")else:print("未到合法結婚年齡")else:ifage>=20:print("到達合法結婚年齡")else:print("未到合法結婚年齡")運行結果:請輸入您的性別(M或者F):F請輸入您的年齡(1~20):28到達合法結婚年齡基本語句及順序結構選擇結構循環結構轉移和中斷語句while...else與for...else語句目錄這里說明圖片內容循環結構循環問題滲透在日常生活的方方面面,例如,學生上學,每天從宿舍到教室,往返于這兩個點。類似這樣反復做同一件事的情況,稱為循環。重復一定次數的循環,稱為計次循環如for循環計次循環一直重復,直到條件不滿足時才結束的循環while循環條件循環循環結構1while語句while循環是通過一個條件來控制是否要繼續反復執行循環體中的語句。While語句用于在滿足循環條件時重復執行某件事情,其流程如下當表達式的值為真時,執行相應的語句塊(循環體),然后再判斷表達式的值,如果為真,則繼續執行語句塊;當表達式的值為假時,檢查其后面是否有else子句,如果有,則執行else子句;如果沒有,則直接跳出while語句while條件表達式: 循環體循環結構1while語句【例3-12】將“不忘初心”輸出3次。i=1whilei<=3: print("不忘初心") i=i+1運行結果:不忘初心不忘初心不忘初心在使用while語句時,需要注意以下事項:①while語句的表達式可以是任意類型,如x!=y,x>3等。②循環體中的語句塊有可能一次也不執行。③語句塊可以是一條或多條語句。④程序中需要包含使循環結束的語句。循環結構2for語句和range()內建函數for循環語句是一個計次循環,通常適用于枚舉或遍歷序列,以及迭代對象中的元素。一般應用在循環次數己知的情況下。迭代變量用于保存讀取出的值:對象為要遍歷或迭代的對象,該對象可以是任何有序的序列對象,如字符串、列表和元組等;循環體為一組被重復執行的語句for迭代變量in對象: 循環體循環結構2for語句和range()內建函數1.進行數值循環利用數值循環輸出3遍“不忘初心”:foriin[1,2,3]:print("不忘初心")for循環常與內置函數range()函數搭配使用,以控制循環中代碼段的執行次數。該函數語法格式為:語法格式如下:range(start,end,step)。【例】計算1+2+3+4+...+100的結果print("計算1+2+3+4+...+100的結果為:")result=0foriinrange(1,101,1):result+=iprint(result)運行結果:計算1+2+3+4+...+100的結果為:5050循環結構2for語句和range()內建函數2.遍歷字符串【例】以遍歷方式計算出“黑化肥發灰會揮發;灰化肥揮發會發黑”中“發”在字符串中出現的次數。word='黑化肥發灰會揮發;灰化肥揮發會發黑'sum=0forletterinword:ifletter=='發':sum+=1print(sum)運行結果:4循環結構2for語句和range()內建函數3.迭代對象從理論上來說,循環對象和for循環調用之間還有一個中間層,該層將循環對象轉換可迭代對象。這一轉換通過使用iter()函數實現。但從邏輯層面上,常常可以忽略這一層,所以循環對象和可迭代對象常常相互指代對方。循環結構3循環語句嵌套在Python中,允許在一個循環體中嵌入另一個循環,這稱為循環嵌套。它在Python中,for循環和while循環都可以進行循環嵌套。while條件表達式1:
代碼塊1......
while條件表達式2:
代碼塊2
......while循環中可以嵌套while循環for臨時變量in可迭代對象:
代碼塊1for臨時變量in可迭代對象:
代碼塊2for循環也可以嵌套使用循環結構2for語句和range()內建函數【例】編寫程序,使用雙重循環輸出九九乘法表。foriinrange(1,10):forjinrange(1,i+1):d=i*jprint('%d*%d=%-2d'%(j,i,d),end='')print()基本語句及順序結構選擇結構循環結構轉移和中斷語句while...else與for...else語句目錄這里說明圖片內容轉移和中斷語句當循環條件一直滿足時,程序將會一直執行下去。如果希望在中間離開循環,也就是for循環結束計數之前,或者while循環找到結束條件之前。有兩種途徑來做到:使用break語句完全中止循環。使用continue語句直接跳到下一次循環轉移和中斷語句1break語句break語句用于跳出離它最近一級的循環。1.在while語句中使用break語句while條件表達式1: 執行代碼 if條件表達式2:break2.在for語句中使用break語句for迭代變量in對象: if條件表達式: break轉移和中斷語句2continue語句continue語句用于跳出當前循環,繼續執行下一次循環。1.在while語句中使用continue語句while條件表達式1 執行代碼 if條件表達式2 continue2.在for語句中使用break語句for迭代變量in對象: if條件表達式: continue當執行到continue語句時,程序會忽略當前循環中剩余的代碼,重新開始執行下一次循環。轉移和中斷語句3
pass語句pass語句,表示空語句。它不做任何事情,一般起到占位作用。foriinrange(10,20):ifi%2==0:print(i,end='')else:pass運行結果:1012141618【例】在應用for循環輸出10?20(不包括20)的偶數時,在不是偶數時,應用pass語句占個位置,方便以后對不是偶數的數進行處理。基本語句及順序結構選擇結構循環結構轉移和中斷語句while...else與for...else語句目錄這里說明圖片內容while...else與for...else語句與別的編程語言不一樣的是python還支持這樣的語法:while...else與for...else語句。只要沒有break或者return,不管while是否執行,都會執行else語句(continue也是可以執行else)。while...else與for...else語句1while...else語句while...else類似于if...else,在python中while只要遇到了else就會意味到這個條件已經不在while循環運行了。【例】編寫程序,隨機產生骰子的一面(數字1~6),給用戶三次猜測機會,程序給出猜測提示(偏大或偏小)。如果某次猜測正確,則提示正確并中斷循環;如果三次均猜錯,則提示機會用完。
importrandompoint=random.randint(1,6)count=1whilecount<=3:guess=int(input("請輸入您的猜測:"))ifguess>point:print("您的猜測偏大")elifguess<point:print("您的猜測偏小")else:print("恭喜您猜對了")breakcount=count+1else:print("很遺憾,三次全猜錯了!")運行結果:請輸入您的猜測:23您的猜測偏大請輸入您的猜測:1您的猜測偏小請輸入您的猜測:3您的猜測偏小很遺憾,三次全猜錯了!while...else與for...else語句2for...else語句else子句作用是for循環中if條件一直不滿足,則最后就執行else語句。在for循環中加break后,循環會在if條件滿足時退出,后面的else語句不執行。【例】for...else語句應用示例,猜年齡游戲,通過輸入一個年的年齡,然后判斷是猜大了還是猜小了。若超過3次,提示“對不起,次數到了!”。age_old_boy=60foriinrange(3):guess_age=int(input("請輸入年齡:"))ifguess_age==age_old_boy:print("猜對了!")breakelifguess_age>age_old_boy:print("猜大了!")else:print("猜小了!")else:print("對不起,次數到了!")運行結果:請輸入年齡:28猜小了!請輸入年齡:56猜小了!對不起,次數到了!本章小結本章詳細介紹了選擇結構語句、循環結構語句、break和continu
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年北京市房屋建筑工程施工勞務分包合同范本
- 2025合作合同,合作關系終止合同書范本
- 202520餐飲類加盟合同范本
- 2025秋季供暖系統安裝合同協議書
- 2025物流行業勞動合同模板
- 財務行業個人工作計劃的關鍵要素
- 有效的學習反饋與評價機制計劃
- 營銷促銷計劃
- 2025學校建筑工程設計合同范本
- 社區服務與社會責任計劃
- 縱隔惡性腫瘤護理查房
- 2024年貴州省交通運輸廳所屬事業單位招聘考試真題
- 固定資產管理制度實施細則
- 統編版語文五年級下冊習作《形形色色的人》精美課件
- 急診科與住院部臨床科室的患者交接制度與流程
- 2025屆山西省晉中市高三下學期適應性訓練考試(二模)英語試題+答案(原卷版+解析版)
- 2024北京朝陽區高二(下)期末英語試題和答案
- 2025年上半年安徽淮北市建投控股集團限公司招聘39人易考易錯模擬試題(共500題)試卷后附參考答案
- 原料藥行業趨勢及市場前景分析報告
- Unit1-3短語與句子英語七年級下冊
- 高考一輪復習:有機化合物的命名 課件 2025屆高考化學一輪復習
評論
0/150
提交評論