中职电子与信息:《yhon小屋》3-1-2 选择结构的几种形式.docx
《中职电子与信息:《yhon小屋》3-1-2 选择结构的几种形式.docx》由会员分享,可在线阅读,更多相关《中职电子与信息:《yhon小屋》3-1-2 选择结构的几种形式.docx(9页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Python小屋之三程序控制结构与函数设计选择结构选择结构的几种形式选择结构通过判断某些特定条件是否满足来决定下一步的执行流程,是非常重要的控制 结构。常见的有单分支选择结构、双分支选择结构、多分支选择结构以及嵌套的分支结构, 形式比较灵活多变,具体使用哪一种最终还是取决于要实现的业务逻辑。循环结构和异常处 理结构中也可以带有else子句,也可以看作是特殊形式的选择结构。1单分支选择结构单分支选择结构是最简单的一种形式,其语法如下所示,其中表达式后面的冒号“:是 不可缺少的,表示一个语句块的开始,后面几种其他形式的选择结构和循环结构中的冒号也 是必须要有的。if表达式:语句块当表达式值为Tru
2、e或其他等价值时,表示条件满足,语句块将被执行,否则该语句块 将不被执行,继续执行后面的代码(如果有)。1 x = input(lnput two numbers:)2 Input two numbers: 3 434 a,b = map(int,x.split()56 a738 b9410 11 if b a:12 a,b = b,a#序列解包,交换两个变量的值131415 print(a,b)16 4 317代码块注意:在Python中,代码的缩进非常重要,缩进是体现代码逻辑关系的重要方式,同 一个代码块必须保证相同的缩进量。养成习惯,严格遵循这个要求吧。2双分支选择结构双分支选择结构的语
3、法为:8start = date(year/month/l).timetuple().tm_wday910#打印头部信息11print(0年1月日历.format(year,month).center(56)12print(t.join( B一二三四五六1split。)1314#获取该月有多少天如果是2月并且是闰年,适当调整一下15day = daysOfMonthmonth -11617if month = 2:18if year % 400 = 0 or(year % 4 =0 and year % 100 != 0):19day += 12021#生成数据,需要根据在前面填充空白22 r
4、esult = * 8 for i in range(start + 1)23result += list(map(lambda d:str(d).ljust(8),range(l,day+ 1)2425#打印数据26for i,day in enumerate(result):27ifi !=0andi%7=0:28print()29print(day/end=)30print()3132 def main(year,month = -1):33 if type(year) != int or year 10000:34print(Year error)35return3637 if typ
5、e(month) = int:38#如果没有指定月份,就打印全年的口历39if month = -1:40for m in range(l,13):41myCalendar(year,m)4243#如果指定了月份,就只打印这一个月的日历44elif month in range(l,13):45myCalendar(yeaomonth)46else:47print(Month error)48return49 else:50print(Month error)51return525354 main(2017)代码块if表达式:语句块1else:语句块2当表达式值为True或其他等价值时,执行语
6、句块1 ,否则执行语句块2。代码示例如 下:11 = 23if I:4 print(l)else:5 print(Empty)9# 执行结果:代码块拓展知识:Python还提供了一个三元运算符,可以实现与选择结构相似的效果。语法 为:valuel if condition else value2当条件表达式condition的值与True等价时,表达式的值为valuel,否则表达式的值为 value2o另外,valuel和value2本身也可以是复杂表达式,也可以包含函数调用。下面的代 码演示了上面的表达式的用法,可以看出,这个结构的表达式也具有惰性求值的特点。1 a = 52 print(6
7、) if a 3 else print(5)364 5 print(6 if a 3 else 5)#注意,虽然结果与上一行代码一样,但代码含义不同6678 b = 6 if a 13 else 9#赋值运算符优先级低9 b910 11 import math x = math.sqrt(9) if 5 3 else random.randint(l,100)12 x3.013 18#三目运算符就这样简单地用用就好了.代码块3多分支选择结构多分支选择结构为用户提供了更多的选择,可以实现复杂的业务逻辑,多分支选择结 构的语法为:if表达式1:语句块1elif表达式2:语句块2elif表达式3:语
8、句块3else:语句块n其中,关键字elif是else if的缩写。下面的代码演示了如何利用多分支选择结构将成 绩从百分制转换到等级制。1 def func(score):2 if score 100:3 return wrong score.mut =90:5 returnA6 elif score =80:7 returnB8 elif score =70:9 returnC10 elif score =60:11 returnD12 elif score =0:13 returnE14 else:15returnwrong score.must O1617 I = 120,99,87,6
9、2,3,-101819 for s in I:20 print(# your score is : , the result is : .format(szfunc(s)21 # your score is:120, the result is : wrong score.mut 0代码块4选择结构的嵌套选择结构可以进行嵌套来表达复杂的业务逻辑,语法如下:if表达式1:语句块1if表达式2:语句块2else:语句块3else:if表达式4:语句块4使用嵌套选择结构是,一定要严格控制好不同级别代码块的缩进量,因为这决定了不 同代码块的从属关系和业务逻辑是否被正确的实现,以及代码是否能够被Pyth
10、on正确理解 和执行。例如,前面百分之转等级制的代码,作为一种编程技巧,开可以尝试下面的写 法:1 def func(score):2 degree = DCBAAE3 if score 100 or score = 0:8 return degreeindex,index9 else:10return degree-l,index111213 1 = -10,30,50,60,93,1001415 for s in I:16 print(# your score is : , the result is : .format(s,func(s)1718 # your score is :-10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- yhon小屋 中职电子与信息:yhon小屋3-1-2 选择结构的几种形式 电子 信息 yhon 小屋 选择 结构 形式
限制150内