《Python程序設計》課件第3章 Python語句流程結(jié)構_第1頁
《Python程序設計》課件第3章 Python語句流程結(jié)構_第2頁
《Python程序設計》課件第3章 Python語句流程結(jié)構_第3頁
《Python程序設計》課件第3章 Python語句流程結(jié)構_第4頁
《Python程序設計》課件第3章 Python語句流程結(jié)構_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Python程序設計第3章Python語句流程結(jié)構【教學目標】

學習內(nèi)容順序結(jié)構程序設計選擇結(jié)構程序設計循環(huán)結(jié)構程序設計技能目標會使用輸入input()函數(shù)、輸出print()函數(shù)能對if的單分支、雙分支、多分支及嵌套語句熟練使用能對while循環(huán)語句、for語句、break語句和coutinue語句熟練使用會使用range()函數(shù)任務一喝酒不開車,開車不喝酒

喝酒不開車,開車不喝酒,這不僅僅是一句宣傳語,而是一種責任。車輛駕駛?cè)藛T血液中的酒精含量大于或等于20mg/100mL并且小于8mg/100mL時屬于酒后駕車,血液中的酒精含量大于或等于80mg/100mL為醉酒駕車??墒褂煤粑骄凭珯z測儀現(xiàn)場檢驗,由檢測儀打印出結(jié)果:酒后駕車,暫扣6個月駕駛證,并處1000以上2000元以下罰款,一次扣12分。醉酒駕車,罰款5000元,一次扣12分,處15日以下拘留,并且5年內(nèi)不得重新獲得駕照。本次的任務是使用Python程序?qū)崿F(xiàn)檢測儀的判斷與輸出功能(直接由鍵盤輸入血液中的酒精含量)?!咎崾尽?/p>

該任務中涉及一個變量即血液中的酒精含量(mg/100ml),設為數(shù)字類型y,先從鍵盤輸入數(shù)據(jù)賦值給y,再判斷如果y<20,則輸出為“不是酒駕,請放行!”;如果判斷y大于或等于20且小于80,則輸出顯示為“酒后駕車:罰款1000~2000元,暫扣6個月駕駛證,一次扣12分!”;如果判斷y≥80,則輸出顯示為“醉酒駕車:罰款5000元,一次扣12分,處15日以下拘留,并且5年內(nèi)不得重新獲得駕照!”。3.1順序結(jié)構程序設計3.1.1輸出函數(shù)print()

順序結(jié)構是最簡單的程序結(jié)構,是構成復雜程序的基礎,順序結(jié)構程序由簡單語句組成,語句按書寫順序執(zhí)行,且每條語句都被執(zhí)行

Python的基本輸出語句使用的是print()函數(shù),其基本語法如下。

print([obj1,obj2,...][,sep=""][,end="\n"][,file=sys.stdout])基本輸出中的數(shù)據(jù)對象(obj)可以是數(shù)值、字符串,也可以是列表、元組、字典或者是集合。輸出時會將逗號間的內(nèi)容用空格分隔開。。1.省略所有參數(shù)2.輸出一個或多個數(shù)據(jù)對象3.使用指定輸出分隔符4.指定輸出結(jié)尾符號5.輸出到文件3.1順序結(jié)構程序設計3.1.2輸入函數(shù)input()

基本語法如下。

變量=input("提示字符串")其中,變量和提示字符串均可省略。input()函數(shù)將用戶輸入的內(nèi)容作為字符串返回。用戶按Enter鍵結(jié)束輸入,Enter鍵之前的全部字符均作為輸入內(nèi)容。指定變量時,變量將保存輸入的字符串。3.2選擇結(jié)構程序設計3.2.1if單分支語句

if語句單分支結(jié)構的語法形式如下。

if條件表達式:語句/語句塊其中:(1)條件表達式可以是關系表達式、邏輯表達式、算術表達式等。(2)語句/語句塊可以是單個語句,也可以是多個語句。多個語句的縮進必須對齊一致。(3)條件表達式的值為真(True)時,執(zhí)行后面的語句(塊),否則不做任何操作,控制將轉(zhuǎn)到語句的結(jié)束點。

選擇結(jié)構是根據(jù)條件來控制代碼執(zhí)行分支語句,選擇結(jié)構也叫分支結(jié)構。Python使用if語句來實現(xiàn)分支結(jié)構。實例一輸入一個學生的兩門課程的考試成績(設為x1,x2),如果兩門成績均大于或等于60分,則輸出“pass”。x1=eval(input("請輸入第一門課程的考試成績:"))x2=eval(input("請輸入第二門課程的考試成績:"))ifx1>=60andx2>=60:print("pass")3.2選擇結(jié)構程序設計3.2.2if雙分支語句

if語句雙分支結(jié)構的語法形式如下。

if條件表達式:

語句/語句塊1else:

語句/語句塊2實例二提示用戶輸入密碼(key),如果正確(等于123),則顯示“密碼正確!”信息;否則,顯示“密碼錯誤”信息。key=int(input("請輸入密碼:"))ifkey==123:print("密碼正確!")else:print("密碼錯誤!")3.2選擇結(jié)構程序設計3.2.3if多分支語句

if語句多分支結(jié)構的語法形式如下。

if條件表達式1:

語句/語句塊1elif條件表達式2:

語句/語句塊2…elif條件表達式n:

語句/語句塊n[else:

語句/語句塊n+1]實例三根據(jù)用戶輸入的期未考試成績(如:mark),輸出相應的成績評定信息。成績大于或等于90分輸出“優(yōu)”;成績大于或等于80分小于90分輸出“良”;成績大于或等于70分小于80分輸出“中”;成績大于或等于60分小于70分輸出“及格”;成績小于60分輸出“差”。mark=eval(input("請輸入分數(shù):"))ifmark>=90:print("優(yōu)")elifmark>=80:print("良")elifmark>=70:print("中")elifmark>=60:print("及格")else:print("不及格"3.2選擇結(jié)構程序設計3.2.4if語句嵌套

一般形式如下。

if條件表達式1: if條件表達式11: 語句/語句塊1else: 語句/語句塊2else: if條件表達式21: 語句/語句塊3else: 語句/語句塊4實例四任意輸入三個整數(shù),找出其中最大的數(shù)。a=int(input("請輸入第一個整數(shù):"))b=int(input("請輸入第二個整數(shù):"))c=int(input("請輸入第三個整數(shù):"))ifa>b:ifa>c:max=aelse:max=celse:ifb>c:max=belse:max=cprint("最大數(shù)為:",max)【任務實現(xiàn)】程序如下:y=eval(input("請輸入血液中的酒精含量(mg/100ml):"))ify<20:print("不是酒駕,請放行!")elify>=20andy<80:print("酒后駕車:罰款1000-2000元,暫扣6個月駕駛證,一次扣12分!")elify>=80:print("醉酒駕車:罰款5000元,一次扣12分,處15日以下拘留,并且5年內(nèi)不得重新獲得駕照!")任務二解密銀行卡

每個人都有多張銀行卡,有時候記不清密碼,在ATM機上連續(xù)輸入錯誤3次后銀行卡就會鎖定,這時該怎么辦呢?其實這時持卡人帶上自己的有效證件前往銀行柜臺,申請銀行卡解鎖和密碼重置,銀行會對信息審核,信息審核通過后當場就可以申請密碼的重置。本次的任務是使用Python程序?qū)崿F(xiàn)銀行卡登錄功能,用戶輸入的密碼與設置好的密碼進行對比,一致則輸出“歡迎進入銀行系統(tǒng)!”,否則給第二、第三次輸入密碼機會;如果用戶輸入了3次密碼都不一致,那么結(jié)束程序并顯示“很抱歉,你已經(jīng)退出系統(tǒng)!”。【提示】

程序運行后,首先進入登錄界面。為了更好地與用戶進行交互,可以利用輸出語句打印出登錄界面。接著提示用戶輸入密碼,將用戶的密碼與系統(tǒng)密碼進行比對,相等則表示密碼輸入正確,可進入系統(tǒng)。如果用戶輸入的密碼不正確,則給第二、三次輸入密碼的機會。可以使用循環(huán)來實現(xiàn)此功能。3.3循環(huán)結(jié)構程序設計

計算機可以按規(guī)定的條件,重復執(zhí)行某些操作。例如,要輸入全校學生成績;求若干數(shù)之和等,這類問題都可以通過循環(huán)來實現(xiàn)。Python中的循環(huán)語句有while和for兩種形式。3.3.1while循環(huán)語句

基本格式如下。

while條件表達式:

循環(huán)體語句/語句塊以while開頭的那行代碼稱為循環(huán)的頭部,頭部中的條件表達式稱為循環(huán)的條件,代碼的縮進塊稱為循環(huán)體,每執(zhí)行一次循環(huán)體稱為通過該循環(huán)的一輪。實例五利用while循環(huán)求1+2+3+…+100的累加總和、偶數(shù)的和、奇數(shù)的和。i=1;sum_all=0;sum_odd=0;sum_even=0whilei<=100:sum_all+=iifi%2==0:sum_even+=ielse:sum_odd+=ii+=1print("1+2+3+…+100的累加總和:",sum_all)print("1+2+3+…+100的偶數(shù)的和:",sum_even)print("1+2+3+…+100的奇數(shù)的和:",sum_odd)3.3循環(huán)結(jié)構程序設計

for循環(huán)的基本格式如下。

for變量in序列:循環(huán)體語句/語句塊1[else:循環(huán)體語句/語句塊2]3.3.2for循環(huán)語句1.for語句輸出列表

fruits=['apple','orange','banana','grape']forfruitinfruits:print(fruit)程序輸出結(jié)果:appleorangebananagrape3.3循環(huán)結(jié)構程序設計3.3.2for循環(huán)語句2.for語句修改列表元素#把banana改為applefruits=['apple','orange','banana','grape']foriinrange(len(fruits)):iffruits[i]=='banana':fruits[i]='apple'print(fruits)程序輸出結(jié)果:['apple','orange','apple','grape']3.for語句刪除列表元素#把列表中banana刪除fruits=['apple','orange','banana','grape']foriinfruits:ifi=='banana':fruits.remove(i)print(fruits)程序輸出結(jié)果:['apple','orange','grape']3.3循環(huán)結(jié)構程序設計3.3.2for循環(huán)語句4.統(tǒng)計列表元素#統(tǒng)計apple的個數(shù)fruits=['apple','orange','banana','grape','apple']count=0foriinfruits:ifi=='apple':count+=1print("fruits列表中apple的個數(shù)="+str(count)+"個")程序輸出結(jié)果:fruits列表中apple的個數(shù)=2個3.3循環(huán)結(jié)構程序設計

Python內(nèi)置range()函數(shù)能返回一系列連續(xù)增加的整數(shù),range()函數(shù)大多數(shù)出現(xiàn)在for循環(huán)中作為索引使用,range()函數(shù)的一般形式是。

range(start,end[,step])參數(shù)含義如下。start:計數(shù)從start開始,默認是從0開始,如range(5)等價于range(0,5)。end:計數(shù)到end結(jié)束,但不包括end,如range(0,5)是[0,1,2,3,4]沒有5。step:每次跳躍的間距,默認為1,如range(0,5)等價于range(0,5,1)。3.3.3range()函數(shù)實例六利用for循環(huán)求1+2+3+…+100的累加總和、偶數(shù)的和、奇數(shù)的和。i=1;sum_all=0;sum_odd=0;sum_even=0foriinrange(1,101):sum_all+=iifi%2==0:sum_even+=ielse:sum_odd+=iprint("1+2+3+…+100的累加總和:",sum_all)print("1+2+3+…+100的偶數(shù)的和:",sum_even)print("1+2+3+…+100的奇數(shù)的和:",sum_odd)實例七輸出所有的“水仙花數(shù)”。所謂“水仙花數(shù)”是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù)本身。例如,153是一個水仙花數(shù),因為153=13+53+33。實現(xiàn)思路:如何從一個三位數(shù)中提取各位數(shù)字是關鍵。這里借助%(取模-返回除法的余數(shù))和//(取整除-返回商的整數(shù)部分)來完成。foriinrange(100,1000):a=i%10 #個位數(shù)b=i//10%10 #十位數(shù)c=i//100#百位數(shù)if(i==a**3+b**3+c**3):print(i)3.3循環(huán)結(jié)構程序設計for循環(huán)嵌套的基本格式如下。

for變量in序列:for變量in序列:循環(huán)體語句/語句塊1循環(huán)體語句/語句塊2while循環(huán)嵌套的基本格式如下。

while表達式:while表達式:循環(huán)體語句/語句塊1循環(huán)體語句/語句塊23.3.4循環(huán)嵌套實例八使用for語句嵌套輸出九九乘法表。foriinrange(1,10):forjinrange(1,i+1):print(“%d*%d=%d﹨t"%(j,i,j*i),end="")print()實例九使用while語句嵌套輸出九九乘法表。i=1whilei<10:j=1whilej<=i:print("%d*%d=%d﹨t"%(j,i,j*i),end="")j+=1i+=1print()3.3循環(huán)結(jié)構程序設計

break語句用于退出for或while循環(huán),即提前結(jié)束循環(huán),接著執(zhí)行循環(huán)語句的后繼語句。3.3.5break語句實例十使用break語句終止循環(huán)。forletterin"Python":ifletter=='h':breakprint("當前字母是:",letter)3.3循環(huán)結(jié)構程序設計

continue語句類似于break語句,也在for或while循環(huán)中使用。但它只結(jié)束本次循環(huán)即跳過循環(huán)體內(nèi)自continue語句后尚未執(zhí)行的語句,返回到循環(huán)的起始處,并根據(jù)循環(huán)條件判斷是否執(zhí)行下一次循環(huán)。3.3.6coutinue語句實例十一輸入若干學生成績,如果輸入Q結(jié)束輸入,如果成績小于0,則重新輸入。最后統(tǒng)計并輸出學生人數(shù)和平均成績。num=0;scores=0#初始化學生人數(shù)和成績whileTrue:s=input("請輸人學生成績(按Q結(jié)束):")ifs.upper()=='Q':breakiffloat(s)<0:#成績必須>=0continuenum+=1#

溫馨提示

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

最新文檔

評論

0/150

提交評論