《Python編程案例教程》課件-第3章-判斷和循環語句_第1頁
《Python編程案例教程》課件-第3章-判斷和循環語句_第2頁
《Python編程案例教程》課件-第3章-判斷和循環語句_第3頁
《Python編程案例教程》課件-第3章-判斷和循環語句_第4頁
《Python編程案例教程》課件-第3章-判斷和循環語句_第5頁
已閱讀5頁,還剩22頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

Python編程案例教程本章導讀在解決實際問題時,我們經常會遇到需要根據不同條件選擇不同操作的情況,或者經常會遇到需要重復處理相同或相似操作的情況。Python提供了判斷和循環語句用于解決這些問題。本章首先介紹判斷語句,包括簡單的if語句、if-else語句、if-elif-else語句和嵌套的if語句,然后介紹while循環和for循環兩種循環語句,以及跳出循環語句的方法,最后通過兩個典型案例的分析和實現,讓讀者進一步掌握判斷語句和循環語句的使用方法。第3章判斷和循環語句學習目標掌握簡單的if語句、if-else語句、if-elif-else語句和嵌套的if語句的使用方法掌握while循環和for循環語句的使用方法掌握break和continue語句的使用方法掌握選擇結構程序設計和循環結構程序設計的編程思路判斷語句3.1循環語句3.2典型案例3.33.1判斷語句3.1.2if-else語句3.1.1簡單的if語句3.1.3if-elif-else語句3.1.4嵌套的if語句if語句允許程序通過判斷條件是否成立而選擇是否執行指定的語句。if判斷條件:

語句塊例如:age=20 #創立變量age代表年齡,賦值為20ifage>=18: #判斷變量age的值是否大于等于18print("已成年") #輸出“已成年〞if判斷條件:

語句塊1else:

語句塊2if語句只允許在條件為真時指定要執行的語句,而if-else語句還可在條件為假時指定要執行的語句。例:編寫程序,要求輸入年齡,判斷該學生是否成年〔大于等于18歲〕,如未成年,計算還需要幾年能夠成年。age=int(input("請輸入學生的年齡:")) #輸入變量age的值并轉換為整型ifage>=18: #判斷age是否大于等于18print("已成年") #如果是,輸出“已成年〞else: #如果不是print("未成年") #輸出“未成年〞print("還差",18-age,"年成年") #計算還差幾年成年并輸出程序運行效果例:編寫程序,要求輸入三角形的三條邊,計算三角形的面積并輸出。importmath #導入math模塊a=int(input("請輸入三角形的第一條邊:")) #輸入第一條邊并將其轉換為整型b=int(input("請輸入三角形的第二條邊:")) #輸入第二條邊并將其轉換為整型c=int(input("請輸入三角形的第三條邊:")) #輸入第三條邊并將其轉換為整型ifa>0andb>0andc>0anda+b>canda+c>bandb+c>a:#如果滿足構成三角形條件

s=1/2*(a+b+c) #計算sarea=math.sqrt(s*(s-a)*(s-b)*(s-c)) #調用sqrt函數計算面積

print("此三角形面積為:",area) #輸出三角形面積else: #如不滿足條件

print("輸入的三條邊不能構成三角形"); #輸出提示信息程序運行效果if判斷條件1:

語句塊1elif判斷條件2:

語句塊2…elif判斷條件n:

語句塊nelse:

語句塊n+1程序運行效果編程時常常需要判定一系列的條件,一旦其中某一個條件為真就立刻停止。例:學生成績可分為百分制和五級制,將輸入的百分制成績score,轉換成相應的五級制成績后輸出。百分制五級制百分制五級制90≤score≤100優60≤score<70及格80≤score<90良0≤score<60不及格70≤score<80中score>100或score<0無意義score=int(input("請輸入百分制成績:"))#輸入分數score的值并將其轉化為整數ifscore>100orscore<0: #當分值不合理時顯示出錯信息 print("輸入數據無意義")elifscore>=90: #當成績大于等于90小于等于100時,輸出“優〞 print("優")elifscore>=80: #當成績大于等于80小于90時,輸出“良〞 print("良")elifscore>=70: #當成績大于等于70小于80時,輸出“中〞 print("中")elifscore>=60: #當成績大于等于60小于70時,輸出“及格〞 print("及格")else: #以上條件都不滿足 print("不及格") #輸出不及格程序運行效果在if語句中又包含一個或多個if語句時,稱為if語句的嵌套。if判斷條件1: if判斷條件2:

語句塊1 else:

語句塊2else: if判斷條件3:

語句塊3 else:

語句塊4內嵌if內嵌if

提示內嵌if可以是簡單的if語句,也可以是if-else語句,還可以是if-elif-else語句。一定要注意if嵌套語句的逐層縮進,保持同級縮進相同。例:編寫程序,實現輸入三個整數,輸出最大值。a=int(input("請輸入a的值:")) #輸入a的值并轉換為整數b=int(input("請輸入b的值:")) #輸入b的值并轉換為整數c=int(input("請輸入c的值:")) #輸入c的值并轉換為整數ifa>b: #a>bifa>c: #a>b并且a>c,最大值為amax=a else: #a>b并且c>a,最大值為cmax=celse: #a<bifb>c: #b>a并且b>c,最大值為bmax=belse: #b>a并且c>b,最大值為cmax=cprint("max=",max) #輸出最大值max程序運行效果3.2循環語句3.2.2for循環語句3.2.1while循環語句3.2.3循環嵌套3.2.4break和continue語句while循環語句的根本格式如下:while判斷條件:

語句塊 #循環體

提示while循環語句是“先判斷,后執行〞。如果剛進入循環時條件就不滿足,那么循環體一次也不執行。還需要注意的是,一定要有語句修改判斷條件,使其有為假的時候,否那么將出現“死循環〞。i=1 #創立變量i,賦值為1S=0 #創立變量S,賦值為0whilei<=100: #循環,當i>100時結束 S+=i #求和,將結果放入S中 i+=1 #變量i加1print("S=1+2+3+…+100=",S) #輸出S的值例:編寫程序,求S=1+2+3+…+100的值。程序運行效果

注意〔1〕變量初始化描述要完整、準確?!?〕在循環體中應有使循環趨向于結束的語句。1.for循環語句的語法結構根本格式:for變量in序列:

語句塊例如:forxin"python":print(x)

提示Python中的for循環常用于遍歷列表、元組、字符串以及字典等序列中的元素。2.for循環語句與range()函數range([start,]stop[,step])for循環語句經常與range()函數一起使用,range()函數是Python的內置函數,可創立一個整數列表。range()函數的語法是:計數從start開始,默認是從0開始。計數到stop結束,但不包括stop。步長,默認為1。例如:range(5)等價于range(0,5)range(0,5)是[0,1,2,3,4]range(0,5)等價于range(0,5,1)例:用for語句求S=1+2+3+…+100的值。S=0 #創立變量S,賦值為0foriinrange(1,101): #循環變量i從1循環到100 S+=i #求和,將結果放入S中print("S=1+2+3+…+100=",S) #輸出S的值程序運行效果一個循環語句的循環體內包含另一個完整的循環結構,稱為循環的嵌套。嵌在循環體內的循環稱為內循環。嵌有內循環的循環稱為外循環。內嵌的循環中還可以嵌套循環,這就是多重循環。兩種循環語句while語句和for語句可以互相嵌套,自由組合。外層循環體中可以包含一個或多個內層循環結構。

注意各循環必須完整包含,相互之間不允許有交叉現象。例:編寫一個程序,輸出以下乘法表。forxinrange(1,10): #循環變量x從1循環到9 foryinrange(1,x+1): #循環變量y從1循環到x+1 print(y,"*",x,"=",x*y,"",end="") #輸出乘法表達式

print("") #輸出空字符串,作用是為了換行程序運行效果1.break語句我們可以使用break語句跳出循環體,而去執行循環下面的語句。在循環結構中,break語句通常與if語句一起使用,以便在滿足條件時跳出循環。例:計算滿足條件的最大整數n,使得1+2+3+…+n<=10000。n=1 #創立變量n,賦值為1S=0 #創立變量S,賦值為0whileTrue: #循環 S+=n #求和,將結果放入S中 ifS>10000: #當S>10000時 break #跳出循環 n+=1 #變量n加1print("最大整數n為",n-1,",使得1+2+3+…+n<=10000。") #輸出n-1的值程序運行效果2.continue語句有時并不希望終止整個循環的操作,而只希望提前結束本次循環,接著執行下次循環,這時可以用continue語句。與break語句不同,continue語句的作用是結束本次循環,即跳過循環體中continue語句后面的語句,開始下一次循環。例:輸出1~20之間所有的奇數。forninrange(1,21): #循環,n的取值為1到20 ifn%2==0: #判斷n是否為偶數

continue #當n為偶數時跳出本次循環

else: #當n為奇數時輸出n的值

print(n)程序運行效果3.3典型案例例:編寫程序,模仿猜拳游戲,要求輸入兩個用戶的不同手型,判斷輸贏后輸出。player1=int(input("請用戶1輸入:0(剪刀)1(石頭)2(布):")#獲取用戶1輸入的信息并賦值player2=int(input("請用戶2輸入:0(剪刀)1(石頭)2(布):"))#獲取用戶2輸入的信息并賦值ifplayer1<0orplayer1>2orplayer2<0orplayer2>2: #輸入了游戲規那么以外的數字 print("請遵守游戲規那么") #輸出“請遵守游戲規那么〞else: #輸入正確if((player1==0)and(player2==2))or((player1==1)and(player2==0))or((player1==2)and(player2==1)): #用戶1所有能獲勝的判斷條件print("用戶1獲得勝利") #輸出“用戶1獲得勝利〞elifplayer1==player2: #用戶1輸入與用戶2相同

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論