![Python课件1第4章 选择结构_第1页](http://file4.renrendoc.com/view/c933c404729449da99fa3b8eb41108bc/c933c404729449da99fa3b8eb41108bc1.gif)
![Python课件1第4章 选择结构_第2页](http://file4.renrendoc.com/view/c933c404729449da99fa3b8eb41108bc/c933c404729449da99fa3b8eb41108bc2.gif)
![Python课件1第4章 选择结构_第3页](http://file4.renrendoc.com/view/c933c404729449da99fa3b8eb41108bc/c933c404729449da99fa3b8eb41108bc3.gif)
![Python课件1第4章 选择结构_第4页](http://file4.renrendoc.com/view/c933c404729449da99fa3b8eb41108bc/c933c404729449da99fa3b8eb41108bc4.gif)
![Python课件1第4章 选择结构_第5页](http://file4.renrendoc.com/view/c933c404729449da99fa3b8eb41108bc/c933c404729449da99fa3b8eb41108bc5.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章选择结构选择结构条件运算符if语句简单的选择结构复杂的选择结构目录4.1条件表达式4.2条件运算符4.3选择结构的实现4.4选择结构程序举例4.1条件表达式条件表达式条件表达式可以是单个常量、变量或合法的任意表达式表达式中可以出现前面介绍过的所有运算符条件表达式的计算结果True——条件成立False——条件不成立None、任何数值类型中的0(或0.0、0j等)、空字符串""、空元组()、空列表[]、空字典{}、空集合和结果为空的迭代对象等都等价于False4.1.1关系运算关系运算符中,被比较的数一般为相同类型的可比较数据不同数据类型间比较会出错,但整型和浮点型之间可进行比较>>>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逻辑运算参与逻辑运算的操作数和结果都可以为非布尔型(bool)数据取反运算not将True或与True等价的数据变为FalseFalse或与False等价的数据则变为Truenotandor>>>a=True>>>notaFalse>>>print(not(9%3))True>>>print(not(9//3))False与运算and仅当两个操作数的值都等价于True时,运算结果为第二个操作数的值有至少一个操作数等价于False,运算结果就是第一个等价于False的操作数的值>>>3<4and3+6 #两个操作数都等价于True9>>>3+2andlist() #无参list()函数返回空列表,等价于False[]and或运算or有一个或两个的操作数的值等价于True,运算结果就为第一个等价于True的操作数的值两个操作数都等价于False,运算结果为第二个等价于False的操作数的值>>>''or6/70.8571428571428571>>>print(9%3orNone)Noneor逻辑运算中的短路现象表达式“a逻辑运算b”,则在计算a后,已经能确定整个表达式结果时,系统不再计算b的结果,以提高程序的运行效率>>>1<0andtuple() #tuple()函数返回空元组,等价于FalseFalse>>>3+6orset() #set()函数返回空集合,等价于False94.1.3测试运算及函数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。内置函数id()用来返回变量所引用对象的id值,该值就是被引用对象的内存地址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内置的测试函数>>>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内置的测试函数>>>any(['a','b','c','d'])True>>>any(('a','b','','d'))True>>>any({}) #{}表示空集合Falseany(iterable)检测iterable中至少有一个元素值等价于True返回True或False。iterable为空返回False内置的测试函数>>>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先计算条件表达式当条件计算结果为True,返回表达式1的计算结果当条件计算结果为False,则返回表达式2的计算结果4.3选择结构的实现if语句if语句是Python唯一的选择结构语句。分为单分支、双分支和多分支,还可以进行if语句的嵌套。4.3.1单分支选择结构if条件表达式:
语句块if条件表达式:单语句条件表达式结果等价于True,执行语句块或单语句条件表达式结果等价于False,执行单分支结构后的后续语句多数为比较表达式或逻辑表达式但也可以是其他计算结果的表达式条件表达式后必须加冒号所有语句行都应向右缩进对齐并保持一致的缩进方式【例4-2】判断大于100的数编写程序,从键盘输入整数,判定它是否为大于100的数。#1. print('Theprogramgetsanumber,andshowsifitislargerthan100.')#2. print('Thenumber:',end='')#3. x=int(input('x='))#4. ifx>100:#5. print('Thenumber',x,'islargerthan100.')【例4-3】输出3个整数中的最大数。#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】两个数的排序输入两个整数,从小到大排序输出#1. a,b=eval(input('Pleaseinputa,b:'))#2. ifa>b:#3. a,b=b,a#4. print(a,b)4.3.2双分支选择结构if条件表达式:
语句块1else:
语句块2条件表达式结果等价于True,执行语句块1条件表达式结果等价于False,执行语句块2条件表达式后必须加冒号else后必须加冒号语句块1和语句块2都应向右缩进对齐并保持一致的缩进方式【例4-5】改写例4-4的两个数排序。#1. a,b=eval(input('Pleaseinputa,b:'))#2. ifa<b:#3. print(a,b)#4. else:#5. print(b,a)【例4-6】改写例4-3,求三个整数的最大值。#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多分支选择结构if条件表达式1:
语句块1elif条件表达式2:
语句块2……else:
语句块n一个条件表达对应一个语句块所有条件表达式都不成立,执行语句块n必须加冒号所有的语句块保持一致的缩进方式【例4-7】购物打折某大型超市为了促销,采用购物打折优惠方法,每位顾客一次购物:① 在500元以上者,按九五折优惠;② 在1000元以上者,按九折优惠;③ 在1500元以上者,按八五折优惠;④ 在2000元以上者,按八折优惠。编写程序,计算所购商品优惠后的价格。【例4-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('优惠价=',amount)4.3.4选择结构的嵌套#1、#11、#14行的缩进对齐是一致的#2到#10行相对外层if向右缩进一层语句块1、内层if语句和语句块2是并列的同一层的语句【例4-8】使用if嵌套改写例4-3,求三个整数的最大值。#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选择结构程序举例【例4-9】成绩转换#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)输入一个百分制的成绩,要求根据不同分数输出成绩等级A、B、C、D、E。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。【例4-10】输入三个整数,从小到大排序输出。#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,完整正确将整数转换为英文。#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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度物业人员雇用及智慧社区建设合同
- 2025年度门面房屋租赁合同(含租赁保证金退还规则)
- 跨文化视角下的小学生阅读能力培养
- 科技驱动下的冰淇淋店市场变革与机遇
- 小区内医疗级母婴用品的销售模式及挑战
- 用心捕捉记录生活之美
- 科技改变教育少儿科普的未来趋势
- 职场健康管理中中医疗法的应用实践研究
- 科技在宠物食品安全监管中的应用与展望
- 融合实践的生涯教育提升学生综合素质的途径
- 房地产调控政策解读
- 产前诊断室护理工作总结
- 2024-2025学年八年级数学人教版上册寒假作业(综合复习能力提升篇)(含答案)
- 《AP内容介绍》课件
- 医生定期考核简易程序述职报告范文(10篇)
- 安全创新创效
- 《中国糖尿病防治指南(2024版)》更新要点解读
- 初级创伤救治课件
- 2024年社会工作者(中级)-社会综合能力考试历年真题可打印
- 《处理人际关系》课件
- 五年级行程问题应用题100道
评论
0/150
提交评论