版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Python語言基礎(chǔ)與應(yīng)用04流程控制結(jié)構(gòu)PYTHON目錄CONTENTSTEACH01020304程序設(shè)計(jì)流程順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)05程序編寫格式賦值語句輸入語句輸出語句格式化語句01020304程序設(shè)計(jì)流程順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)05程序編寫格式單分支結(jié)構(gòu)雙分支結(jié)構(gòu)多分支結(jié)構(gòu)分支嵌套01020304程序設(shè)計(jì)流程順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)05程序編寫格式while循環(huán)for循環(huán)循環(huán)嵌套01020304程序設(shè)計(jì)流程順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)05程序編寫格式4.1程序設(shè)計(jì)流程程序設(shè)計(jì)流程特征:(1)輸入性(2)輸出性(3)有窮性(4)確定性(5)可行性一、算法評(píng)定標(biāo)準(zhǔn):(1)正確性(2)可讀性(3)健壯性(4)時(shí)間復(fù)雜度(5)空間復(fù)雜度算法是解決問題的邏輯、方法、過程。優(yōu)點(diǎn):(1)圖形繪制簡(jiǎn)便。(2)結(jié)構(gòu)清晰,邏輯性強(qiáng)。(3)便于描述,易于理解。二、程序流程圖描述算法時(shí)應(yīng)用最廣泛的是流程圖(又稱框圖)。流程圖符號(hào):輸入框和輸出框開始框和結(jié)束框箭頭執(zhí)行框判別框4.2順序結(jié)構(gòu)順序結(jié)構(gòu)是最簡(jiǎn)單的流程控制結(jié)構(gòu),程序按照語句書寫的先后順序依次執(zhí)行。順序結(jié)構(gòu)語句賦值語句輸入語句輸出語句格式化語句一、賦值語句賦值語句簡(jiǎn)單賦值語句:復(fù)合賦值語句:多變量賦值語句:變量=表達(dá)式變量op=表達(dá)式鏈?zhǔn)劫x值語句同步賦值語句Python提供了input()輸入函數(shù)。二、輸入語句>>>m=input("Pleaseinputanumber:")Pleaseinputanumber:316>>>m'316'(1)使用表達(dá)式語句輸出表達(dá)式的值,僅適用于交互模式。三、輸出語句實(shí)現(xiàn)方式:例:>>>x=316
>>>y=505
>>>x+y
821(2)程序內(nèi)置的print()函數(shù),同時(shí)適用于交互模式和腳本模式。例:1)交互模式
>>>x,y=316,505
>>>print(x+y)
8212)腳本模式
x,y=316,505
print(x+y)
運(yùn)行結(jié)果:821使用print()函數(shù),可以輸出多個(gè)輸出項(xiàng)的值。print([輸出項(xiàng)1],[輸出項(xiàng)2,…,輸出項(xiàng)n][,sep=分隔符][,end=結(jié)束符])語法格式如下:例:
x,y=316,505
print(x,y,sep=",")運(yùn)行結(jié)果:
316,505四、格式化語句格式化字符串格式化:輸出數(shù)據(jù)格式化eval()函數(shù)%運(yùn)算符str.format()函數(shù)eval()函數(shù)可以將字符串轉(zhuǎn)換為整數(shù)、浮點(diǎn)數(shù)、列表、元組、字典等數(shù)據(jù)類型。(1)eval()函數(shù)例:>>>a="23">>>type(a)<class'str'>>>>eval(a)23>>>type(eval(a))<class'int'>>>>type(a)<class'str'>
語法格式:print(“格式字符串”%(輸出項(xiàng)1,……,輸出項(xiàng)n))(2)格式化運(yùn)算符“%”格式字符串普通字符格式說明符:%格式標(biāo)識(shí)符常用的格式說明符:格式說明符功能說明%%輸出百分號(hào)%d輸出十進(jìn)制整數(shù)%c輸出字符,等價(jià)于chr(num)函數(shù)%s輸出字符串%o輸出八進(jìn)制整數(shù)%x或%X輸出十六進(jìn)制整數(shù)%e或%E以科學(xué)計(jì)數(shù)法輸出浮點(diǎn)數(shù)%[0][-][+][w][.p]f0:填充符號(hào);-:左對(duì)齊(默認(rèn)右對(duì)齊);+:在正數(shù)前加“+”,默認(rèn)不顯示;w:數(shù)據(jù)長(zhǎng)度,默認(rèn)為0;.p:小數(shù)部分位數(shù),默認(rèn)為6位;f:浮點(diǎn)型例:將李雷的個(gè)人信息格式化輸出name="李雷"sex="男"age=20mark=86.7329telrint("姓名:%s,性別:%s,年齡:%d歲,分?jǐn)?shù):%.2f,聯(lián)系方式:%s。"
%(name,sex,age,mark,tel))運(yùn)行結(jié)果:
姓名:李雷,性別:男,年齡:20歲,分?jǐn)?shù):86.73,聯(lián)系方式語法格式:print(“str”.format(輸出項(xiàng)1,……,輸出項(xiàng)n))(3)str.format()函數(shù)格式說明符使用“{}”稱為槽。槽內(nèi)格式化配置的語法格式:{<參數(shù)符號(hào)>:格式控制符}格式控制符:填充對(duì)齊寬度,.精度類型引導(dǎo)符號(hào)單個(gè)字符<左對(duì)齊>右對(duì)齊^居中對(duì)齊字符串長(zhǎng)度千位分隔符浮點(diǎn)數(shù)小數(shù)精度或字符串長(zhǎng)度整數(shù):c、b、o、d、x、X浮點(diǎn)數(shù):e、E、f、%例:將李雷的個(gè)人信息格式化輸出name="李雷"sex="男"age=20mark=86.7329telrint("姓名:{0},性別:{3},年齡:{2}歲,分?jǐn)?shù):{4:.2f},聯(lián)系方式:{1}。".format(name,tel,age,sex,mark))運(yùn)行結(jié)果:
姓名:李雷,性別:男,年齡:20歲,分?jǐn)?shù):86.73,聯(lián)系方式結(jié)論:str.format()函數(shù)在使用中的靈活性更高4.3選擇結(jié)構(gòu)選擇結(jié)構(gòu)選擇結(jié)構(gòu)根據(jù)條件表達(dá)式的值(True或False)選擇不同的語句執(zhí)行,條件分支讓程序有了判斷力,通過if語句來實(shí)現(xiàn)。單分支結(jié)構(gòu)多分支結(jié)構(gòu)雙分支結(jié)構(gòu)一、單分支結(jié)構(gòu)(if語句)只有一個(gè)執(zhí)行分支的程序結(jié)構(gòu)稱為單分支結(jié)構(gòu)。語法格式:if條件表達(dá)式:語句塊例:獲取用戶隨機(jī)輸入的兩個(gè)整數(shù),輸出其中較大的值。m
=
input("請(qǐng)輸入第一個(gè)整數(shù):")n
=
input("請(qǐng)輸入第二個(gè)整數(shù):")big
=
mifbig
<
n:big
=
nprint("比較{}和{},較大的是{}".format(m,n,big))運(yùn)行結(jié)果:
請(qǐng)輸入第一個(gè)整數(shù):26
請(qǐng)輸入第二個(gè)整數(shù):38
比較26和38,較大的是38二、雙分支結(jié)構(gòu)(if-else語句)有兩個(gè)執(zhí)行分支的程序結(jié)構(gòu)稱為雙分支結(jié)構(gòu)。語法格式:if條件表達(dá)式:語句塊1else:語句塊2簡(jiǎn)化形式:<語句塊1>if<條件表達(dá)式>else<語句塊2>例:獲取用戶隨機(jī)輸入的兩個(gè)整數(shù),輸出其中較大的值。m
=
input("請(qǐng)輸入第一個(gè)整數(shù):")n
=
input("請(qǐng)輸入第二個(gè)整數(shù):")ifm
>
n:big
=
melse:big
=
nprint("比較{}和{},較大的是{}".format(m,n,big))運(yùn)行結(jié)果:
請(qǐng)輸入第一個(gè)整數(shù):26
請(qǐng)輸入第二個(gè)整數(shù):38
比較26和38,較大的是38三、多分支結(jié)構(gòu)(if-elif-else語句)有多個(gè)執(zhí)行分支的程序結(jié)構(gòu)稱為多分支結(jié)構(gòu)。語法格式:if條件表達(dá)式1:語句塊1elif條件表達(dá)式2:語句塊2……elif條件表達(dá)式n:語句塊nelse:語句塊n+1例:將成績(jī)從百分制轉(zhuǎn)化為等級(jí)制。mark=eval(input("請(qǐng)輸入百分制的整數(shù)成績(jī):"))ifmark<60:print("{}分的等級(jí)制成績(jī)?yōu)?不及格".format(mark))elifmark<70:print("{}分的等級(jí)制成績(jī)?yōu)?及格".format(mark))elifmark<80:print("{}分的等級(jí)制成績(jī)?yōu)?中等".format(mark))elifmark<90:print("{}分的等級(jí)制成績(jī)?yōu)?良好".format(mark))else:print("{}分的等級(jí)制成績(jī)?yōu)?優(yōu)秀".format(mark))四、分支嵌套if結(jié)構(gòu)中的語句塊也是if語句。語法格式:if條件表達(dá)式1:if條件表達(dá)式2:語句塊1else:語句塊2else:語句塊3例:獲取用戶輸入值,判斷其是否能被3或5整除。number=int(input("請(qǐng)輸入一個(gè)整數(shù):"))ifnumber%3==0:ifnumber%5==0:print("{}即能被3整除,也能被5整除".format(number))else:print("{}能被3整除,但不能被5整除".format(number))elifnumber%5==0:print("{}能被5整除,但不能被3整除".format(number))else:print("{}即不能被3整除,也不能被5整除".format(number))4.4循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)在給定條件成立時(shí),反復(fù)執(zhí)行某個(gè)語句塊,直到條件不成立為止。給定的條件稱為循環(huán)控制條件,反復(fù)執(zhí)行的語句塊稱為循環(huán)體。while循環(huán)for循環(huán)一、while循環(huán)語法格式:while條件表達(dá)式:語句塊與循環(huán)控制變量有關(guān)的3個(gè)表達(dá)式:有初始:用于為循環(huán)控制變量賦初值,表達(dá)式1。有條件:用于判斷是否執(zhí)行循環(huán)體,表達(dá)式2。有變化:用于改變循環(huán)控制變量,防止死循環(huán),
表達(dá)式3。sum
=
0i
=
1whilei
<=
10:sum
=
sum+ii
=
i+1print("1~10的整數(shù)和為:"+str(sum))運(yùn)行結(jié)果:
1~10的整數(shù)和為:55有初始有變化有條件例:應(yīng)用while循環(huán)語句計(jì)算1~10的整數(shù)和。循環(huán)結(jié)構(gòu)中使用可選的else子句。語法格式:while條件表達(dá)式:語句塊1else:語句塊2注意:只有當(dāng)while循環(huán)正常結(jié)束時(shí),才會(huì)執(zhí)行else子句。二、for循環(huán)語法格式:for變量in遍歷對(duì)象:
語句塊例:已知唐朝詩人列表和宋朝詩人列表,依次打印詩人的姓名,并說明是哪個(gè)朝代的詩人。list_tang=["李白","杜甫","王維","孟浩然"]list_song=["蘇軾","蘇轍","王安石","李清照"]foriinlist_tang:print(i+"是唐朝詩人")foriinlist_song:print(i+"是宋朝詩人")運(yùn)行結(jié)果:李白是唐朝詩人杜甫是唐朝詩人王維是唐朝詩人孟浩然是唐朝詩人蘇軾是宋朝詩人蘇轍是宋朝詩人王安石是宋朝詩人李清照是宋朝詩人例:應(yīng)用for循環(huán)語句計(jì)算1~10的整數(shù)和。sum=0foriinrange(1,11):sum
+=
iprint("1~10的整數(shù)和為:"+str(sum))運(yùn)行結(jié)果:
1~10的整數(shù)和為:55例:應(yīng)用for循環(huán)語句計(jì)算1~10的整數(shù)和。sum
=
0m
=
1foriinrange(10):sum+=mm
=
m
+
1print("1~10的整數(shù)和為:"+str(sum))運(yùn)行結(jié)果:
1~10的整數(shù)和為:55循環(huán)結(jié)構(gòu)中使用可選的else子句。語法格式:for變量in序列:
語句塊1else:
語句塊2注意:只有當(dāng)for循環(huán)正常結(jié)束時(shí),才會(huì)執(zhí)行else子句。三、循環(huán)嵌套一個(gè)循環(huán)體中嵌入另一個(gè)循環(huán)體。設(shè)計(jì)思路:步驟一:保留其中一層循環(huán)的變量,并將另一層的變量設(shè)為定值,實(shí)現(xiàn)單重循環(huán)。步驟二:將另一層的變量從定值改為變量,將單重循環(huán)轉(zhuǎn)變?yōu)槎匮h(huán)。注意事項(xiàng):(1)外層循環(huán)和內(nèi)層循環(huán)的控制變量不能同名,以免造成混亂。(2)循環(huán)嵌套應(yīng)逐層縮進(jìn),以保證邏輯關(guān)系的清晰。(3)循環(huán)嵌套不能交叉。例:雞兔同籠問題。雞兔共有20只,腳共有50個(gè),雞和兔各有多少只?運(yùn)行結(jié)果:
雞的數(shù)量是:15只
兔的數(shù)量是:5只forxinrange(1,21):foryinrange(1,21):ifx+y==20and2*x+4*y==50:print("雞的數(shù)量是:{:>2}只".format(x))print("兔的數(shù)量是:{:>2}只".format(y))四、跳出循環(huán)(1)break語句:跳出本層循環(huán)例:獲取用戶輸入的字符串,遍歷字符串中的字母,并逐一打印,字母間以空格間隔,當(dāng)遇到“t”或“T”時(shí)結(jié)束遍歷,同時(shí)輸出“遇到t停止打印”。str=input("請(qǐng)輸入一些英文字母:")foriinstr:ifi=="t"ori=="T":print("t","遇到t停止打印")breakelse:print(i,"",end="")運(yùn)行結(jié)果:請(qǐng)輸入一些英文字母:continuecont遇到t停止打?。?)continue語句:跳出本輪循環(huán)例:分別使用continue語句和break語句遍歷單詞“Python”中的所有字母,當(dāng)遇到“h”時(shí)跳轉(zhuǎn)。foriin"Python":ifi=="h":continueprint(i,"",end="")運(yùn)行結(jié)果:Pytonforiin"Python":ifi=="h":breakprint(i,"",end="")運(yùn)行結(jié)果:Pyt(3)pass語句:占位語句例:遍歷“Python”的所有字母,遇到“h”時(shí)輸出“敬請(qǐng)期待”。foriin"Python":ifi=="h":passprint("敬請(qǐng)期待")else:print("當(dāng)前字母為:"+i)print("結(jié)束!")運(yùn)行結(jié)果:當(dāng)前字母為:P當(dāng)前字母為:y當(dāng)前字母為:t敬請(qǐng)期待當(dāng)前字母為:o當(dāng)前字母為:n結(jié)束!4.5編寫格式一、縮進(jìn)優(yōu)點(diǎn):縮進(jìn)使代碼具有層次性,大幅度提高其可讀性。代碼塊縮進(jìn)是語法要求,代碼塊必須縮進(jìn),否則會(huì)出現(xiàn)語法錯(cuò)誤。foriinrange(0,10):
print(i)二、多行書寫list_sports_pingpong=["王楠","馬龍","王勵(lì)勤","馬琳"]list_sports_di
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度成都事業(yè)單位勞動(dòng)合同范本(含員工行為規(guī)范)
- 2025年度綠色能源PPP項(xiàng)目投資合作協(xié)議范本3篇
- Unit4SectionB2a-2e說課稿2024-2025學(xué)年人教版英語八年級(jí)上冊(cè)
- 二零二五年度建筑工程施工合同:水渠硬化工程專業(yè)分包協(xié)議2篇
- 期末評(píng)估測(cè)試卷(二) (含答案)2024-2025學(xué)年數(shù)學(xué)冀教版八年級(jí)下冊(cè)
- 甘肅省甘南藏族自治州(2024年-2025年小學(xué)六年級(jí)語文)部編版摸底考試(上學(xué)期)試卷及答案
- 西藏那曲地區(qū)(2024年-2025年小學(xué)六年級(jí)語文)統(tǒng)編版階段練習(xí)((上下)學(xué)期)試卷及答案
- 貴州輕工職業(yè)技術(shù)學(xué)院《建筑外觀裝飾設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 新疆巴音郭楞蒙古自治州(2024年-2025年小學(xué)六年級(jí)語文)部編版能力評(píng)測(cè)(下學(xué)期)試卷及答案
- 貴州農(nóng)業(yè)職業(yè)學(xué)院《明史趣談》2023-2024學(xué)年第一學(xué)期期末試卷
- 2023視頻監(jiān)控人臉識(shí)別系統(tǒng)技術(shù)規(guī)范
- 醫(yī)學(xué)教案SPZ-200型雙向道床配碴整形車操作保養(yǎng)維修手冊(cè)
- 2024年四川省宜賓市敘州區(qū)六年級(jí)數(shù)學(xué)第一學(xué)期期末監(jiān)測(cè)試題含解析
- 獸醫(yī)學(xué)英語詞匯【參考】
- 10《吃飯有講究》(教學(xué)設(shè)計(jì))-2024-2025學(xué)年道德與法治一年級(jí)上冊(cè)統(tǒng)編版
- 2024-2030年中國(guó)干燥設(shè)備行業(yè)研發(fā)創(chuàng)新狀況及發(fā)展行情監(jiān)測(cè)研究報(bào)告
- 2024仁愛版新教材七年級(jí)上冊(cè)英語新課程內(nèi)容解讀課件(深度)
- 藥物生殖毒性研究技術(shù)指導(dǎo)原則
- 《UI界面設(shè)計(jì)》教案
- 食品技術(shù)咨詢服務(wù)
- 2023年浙江大學(xué)醫(yī)學(xué)院附屬邵逸夫醫(yī)院招聘考試真題及答案
評(píng)論
0/150
提交評(píng)論