




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第4章選擇結(jié)構(gòu)選擇結(jié)構(gòu)條件運算符if語句簡單的選擇結(jié)構(gòu)復(fù)雜的選擇結(jié)構(gòu)目錄4.1條件表達式4.2條件運算符4.3選擇結(jié)構(gòu)的實現(xiàn)4.4選擇結(jié)構(gòu)程序舉例4.1條件表達式條件表達式條件表達式可以是單個常量、變量或合法的任意表達式表達式中可以出現(xiàn)前面介紹過的所有運算符條件表達式的計算結(jié)果True——條件成立False——條件不成立None、任何數(shù)值類型中的0(或0.0、0j等)、空字符串""、空元組()、空列表[]、空字典{}、空集合和結(jié)果為空的迭代對象等都等價于False4.1.1關(guān)系運算關(guān)系運算符中,被比較的數(shù)一般為相同類型的可比較數(shù)據(jù)不同數(shù)據(jù)類型間比較會出錯,但整型和浮點型之間可進行比較>>>print('abc'=='abcd')False>>>print(0<12.5)True<<=>>===!=>>>print(4>'abc')Traceback(mostrecentcalllast):File"<pyshell#0>",line1,in<module>4>'abc'TypeError:unorderabletypes:int()>str()>>>print(10>-3+5j)Traceback(mostrecentcalllast):File"<pyshell#3>",line1,in<module>10>-3+5jTypeError:unorderabletypes:int()>complex()>>>print([1,2,3]>[1,2])True>>>print((1,2,3)<(2,3,4))True>>>print({1,2,3}>={2,3,4})False>>>a,b,c=1,2,3#判斷是否a<b并且b>c>>>print(a<b>c) False#判斷是否a<b并且b<c>>>print(a<b<c) True4.1.2邏輯運算參與邏輯運算的操作數(shù)和結(jié)果都可以為非布爾型(bool)數(shù)據(jù)取反運算not將True或與True等價的數(shù)據(jù)變?yōu)镕alseFalse或與False等價的數(shù)據(jù)則變?yōu)門ruenotandor>>>a=True>>>notaFalse>>>print(not(9%3))True>>>print(not(9//3))False與運算and僅當(dāng)兩個操作數(shù)的值都等價于True時,運算結(jié)果為第二個操作數(shù)的值有至少一個操作數(shù)等價于False,運算結(jié)果就是第一個等價于False的操作數(shù)的值>>>3<4and3+6 #兩個操作數(shù)都等價于True9>>>3+2andlist() #無參list()函數(shù)返回空列表,等價于False[]and或運算or有一個或兩個的操作數(shù)的值等價于True,運算結(jié)果就為第一個等價于True的操作數(shù)的值兩個操作數(shù)都等價于False,運算結(jié)果為第二個等價于False的操作數(shù)的值>>>''or6/70.8571428571428571>>>print(9%3orNone)Noneor邏輯運算中的短路現(xiàn)象表達式“a邏輯運算b”,則在計算a后,已經(jīng)能確定整個表達式結(jié)果時,系統(tǒng)不再計算b的結(jié)果,以提高程序的運行效率>>>1<0andtuple() #tuple()函數(shù)返回空元組,等價于FalseFalse>>>3+6orset() #set()函數(shù)返回空集合,等價于False94.1.3測試運算及函數(shù)1.成員運算符ainb
在序列或可迭代對象b中找到值a,就返回True,否則返回False。anotinb在序列或可迭代對象b中沒有找到值a,就返回True,否則返回False。>>>8notin[1,2,3,4,5]True>>>100inrange(100) False2.身份運算符
aisb判斷a、b是否引用了同一個對象,是就返回True,否則返回False。aisnotb判斷a、b是否引用了不同的對象,是就返回True,否則返回False。內(nèi)置函數(shù)id()用來返回變量所引用對象的id值,該值就是被引用對象的內(nèi)存地址2.身份運算符
>>>x=20>>>id(x)1707017264>>>y=20>>>id(y)1707017264>>>xisyTrue>>>a=list()>>>id(a)2271570384968>>>b=list() >>>id(b)2271570367048>>>aisnotbTrue>>>c=a>>>cisnotbTrue內(nèi)置的測試函數(shù)>>>all(['a','b','c','d'])True>>>all(['a','b','','d'])Falseall(iterable)檢測iterable中的所有元素值是否都不等價于Falseiterable是序列或可迭代對象返回True或False。iterable為空返回True>>>all(('a','b','','d')) False>>>all({0,1,2,3}) False內(nèi)置的測試函數(shù)>>>any(['a','b','c','d'])True>>>any(('a','b','','d'))True>>>any({}) #{}表示空集合Falseany(iterable)檢測iterable中至少有一個元素值等價于True返回True或False。iterable為空返回False內(nèi)置的測試函數(shù)>>>isinstance(3,int)True>>>isinstance(3,(int,complex,str))Trueisinstance(obj,class_or_tuple)判斷對象obj是否是class_or_tuple列舉出的類型4.2條件運算符條件運算符#1. a,b,c=eval(input('a,b,c='))#2. max=aifa>belseb#3. max=maxifmax>celsec#4. print('Max=',max)表達式1if條件表達式else表達式2先計算條件表達式當(dāng)條件計算結(jié)果為True,返回表達式1的計算結(jié)果當(dāng)條件計算結(jié)果為False,則返回表達式2的計算結(jié)果4.3選擇結(jié)構(gòu)的實現(xiàn)if語句if語句是Python唯一的選擇結(jié)構(gòu)語句。分為單分支、雙分支和多分支,還可以進行if語句的嵌套。4.3.1單分支選擇結(jié)構(gòu)if條件表達式:
語句塊if條件表達式:單語句條件表達式結(jié)果等價于True,執(zhí)行語句塊或單語句條件表達式結(jié)果等價于False,執(zhí)行單分支結(jié)構(gòu)后的后續(xù)語句多數(shù)為比較表達式或邏輯表達式但也可以是其他計算結(jié)果的表達式條件表達式后必須加冒號所有語句行都應(yīng)向右縮進對齊并保持一致的縮進方式【例4-2】判斷大于100的數(shù)編寫程序,從鍵盤輸入整數(shù),判定它是否為大于100的數(shù)。#1. print('Theprogramgetsanumber,andshowsifitislargerthan100.')#2. print('Thenumber:',end='')#3. x=int(input('x='))#4. ifx>100:#5. print('Thenumber',x,'islargerthan100.')【例4-3】輸出3個整數(shù)中的最大數(shù)。#1. a,b,c=eval(input('Pleaseinputa,b,c:'))#2. max=a#3. ifb>max:#4. max=b#5. ifc>max:#6. max=c#7. print('max=',max)【例4-4】兩個數(shù)的排序輸入兩個整數(shù),從小到大排序輸出#1. a,b=eval(input('Pleaseinputa,b:'))#2. ifa>b:#3. a,b=b,a#4. print(a,b)4.3.2雙分支選擇結(jié)構(gòu)if條件表達式:
語句塊1else:
語句塊2條件表達式結(jié)果等價于True,執(zhí)行語句塊1條件表達式結(jié)果等價于False,執(zhí)行語句塊2條件表達式后必須加冒號else后必須加冒號語句塊1和語句塊2都應(yīng)向右縮進對齊并保持一致的縮進方式【例4-5】改寫例4-4的兩個數(shù)排序。#1. a,b=eval(input('Pleaseinputa,b:'))#2. ifa<b:#3. print(a,b)#4. else:#5. print(b,a)【例4-6】改寫例4-3,求三個整數(shù)的最大值。#1. a,b,c=eval(input('Pleaseinputa,b,c:'))#2. ifa>b:#3. max=a#4. else:#5. max=b#6. ifmax<c:#7. print('max=',c)#8. else:#9. print('max=',max)4.3.3多分支選擇結(jié)構(gòu)if條件表達式1:
語句塊1elif條件表達式2:
語句塊2……else:
語句塊n一個條件表達對應(yīng)一個語句塊所有條件表達式都不成立,執(zhí)行語句塊n必須加冒號所有的語句塊保持一致的縮進方式【例4-7】購物打折某大型超市為了促銷,采用購物打折優(yōu)惠方法,每位顧客一次購物:① 在500元以上者,按九五折優(yōu)惠;② 在1000元以上者,按九折優(yōu)惠;③ 在1500元以上者,按八五折優(yōu)惠;④ 在2000元以上者,按八折優(yōu)惠。編寫程序,計算所購商品優(yōu)惠后的價格?!纠?-7】購物打折#1. m=eval(input('總金額='))#2. ifm<500:#3. d=1#4. elifm<1000:#5. d=0.95#6. elifm<1500:#7. d=0.9#8. elifm<2000:#9. d=0.85#10. else:#11. d=0.8#12. amount=m*d#13. print('優(yōu)惠價=',amount)4.3.4選擇結(jié)構(gòu)的嵌套#1、#11、#14行的縮進對齊是一致的#2到#10行相對外層if向右縮進一層語句塊1、內(nèi)層if語句和語句塊2是并列的同一層的語句【例4-8】使用if嵌套改寫例4-3,求三個整數(shù)的最大值。#1. a,b,c=eval(input('Pleaseinputa,b,c:'))#2. ifa>banda>c:#3. print('max=',a)#4. else:#5. ifb>c:#6. print('max=',b)#7. else:#8. print('max=',c)4.4選擇結(jié)構(gòu)程序舉例【例4-9】成績轉(zhuǎn)換#1. s=eval(input('Pleaseinputscore='))#2. ifs>100ors<0:#3. print('InputError!')#4. else:#5. ifs>=90:#6. g='A'#7. elifs>=80:#8. g='B'#9. elifs>=70:#10. g='C'#11. elifs>=60:#12. g='D'#13. else:#14. g='E'#15. print('Gradeis',g)輸入一個百分制的成績,要求根據(jù)不同分?jǐn)?shù)輸出成績等級A、B、C、D、E。90分以上為A,80~89分為B,70~79分為C,60~69分為D,60分以下為E。【例4-10】輸入三個整數(shù),從小到大排序輸出。#1. a,b,c=eval(input('Pleaseinputa,b,c:'))#2. ifa>b:#3. a,b=b,a#4. ifa>c:#5. a,c=c,a#6. ifb>c:#7. b,c=c,b#8. print(a,b,c)【例4-11】改寫例3-5,完整正確將整數(shù)轉(zhuǎn)換為英文。#1. eng1=['','one','two','three','four','five','six','seven','eight','nine']#2. eng2=['','ten','twenty','thirty','forty','fifty','sixty','seventy','eighty','ninety']#3. eng3=['ten','eleven','
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高效團隊合作策略研討會策劃案
- 9《從軍行》教學(xué)設(shè)計-2023-2024學(xué)年五年級下冊語文統(tǒng)編版
- 2024-2025學(xué)年新教材高中生物 第一章 走近細(xì)胞 第1節(jié) 細(xì)胞是生命活動的基本單位(1)教學(xué)實錄 新人教版必修1
- 延續(xù)性護理干預(yù)在肺癌化療患者中的應(yīng)用效果觀察
- 8 同學(xué)相伴 教學(xué)設(shè)計-2024-2025學(xué)年道德與法治三年級上冊統(tǒng)編版
- DB3709-T 023-2023 公建民營養(yǎng)老機構(gòu)績效評價規(guī)范
- 2023七年級數(shù)學(xué)下冊 第一章 整式的乘除6 完全平方公式第1課時 完全平方公式的認(rèn)識教學(xué)實錄 (新版)北師大版
- 4《梅花魂》教學(xué)設(shè)計-2023-2024學(xué)年五年級下冊語文統(tǒng)編版
- 9《題西林壁》(教學(xué)設(shè)計)2024-2025學(xué)年統(tǒng)編版四年級語文上冊
- 5 守株待兔(教學(xué)設(shè)計)-2023-2024學(xué)年語文三年級下冊統(tǒng)編版
- 安全管理工作的成果與亮點
- 《中國最美的地方》課件
- 《中國糖尿病防治指南(2024版)》更新要點解讀
- 新產(chǎn)品需求評估申請表
- 專題14 歐姆定律及其應(yīng)用(4大模塊知識清單+4個易混易錯+5種方法技巧+典例真題解析)
- 《品質(zhì)文化》課件
- 2024年度餐飲企業(yè)節(jié)能改造工程合同
- 2024年10月自考15040習(xí)概試題及答案含評分參考
- TSGD7002-2023-壓力管道元件型式試驗規(guī)則
- 賽事運營創(chuàng)新模式
- 新生兒科、兒科《新生兒窒息復(fù)蘇》理論考試試題
評論
0/150
提交評論