《(4.4)--第4章 Python程序设计基础程序控制结构.ppt》由会员分享,可在线阅读,更多相关《(4.4)--第4章 Python程序设计基础程序控制结构.ppt(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第4章 程序控制结构14.1 条件表达式在选择和循环结构中,条件表达式的值只要不是False、0(或0.0、0j等)、空值None、空列表、空元组、空集合、空字典、空字符串、空range对象或其他空迭代对象,Python解释器均认为与True等价。24.1 条件表达式(1)关系运算符Python中的关系运算符可以连续使用,这样不仅可以减少代码量,也比较符合人类的思维方式。print(123)#等价于12 and 2 print(13)False print(12)True34.1 条件表达式在Python语法中,条件表达式中不允许使用赋值运算符“=”。if a=3:#条件表达式中不允许使用赋值
2、运算符SyntaxError:invalid syntax if(a=3)and(b=4):SyntaxError:invalid syntax44.1 条件表达式(2)逻辑运算符逻辑运算符and和or具有短路求值或惰性求值的特点,可能不会对所有表达式进行求值,而是只计算必须计算的表达式的值。54.2 选择结构单分支选择结构双分支选择结构多分支选择结构嵌套的分支结构64.2.1 单分支选择结构7if 表达式:语句块4.2.2 双分支选择结构8if 表达式:语句块1else:语句块24.2.3 多分支选择结构if 表达式1:语句块1elif 表达式2:语句块2elif 表达式3:语句块3else
3、:语句块4其中,关键字elif是else if的缩写。94.2.4 选择结构的嵌套10if 表达式1:语句块1 if 表达式2:语句块2 else:语句块3else:if 表达式4:语句块4注意:缩进必须要正确并且一致。4.3 循环结构for循环while循环114.3.1 for循环与while循环两种循环结构的完整语法形式分别为:while 条件表达式:循环体else:else子句代码块和for 取值 in 序列或迭代对象:循环体else:else子句代码块124.3.2 break与continue语句一旦break语句被执行,将使得break语句所属层次的循环提前结束;continue
4、语句的作用是提前结束本次循环,忽略continue之后的所有语句,提前进入下一次循环。134.4 精彩案例赏析示例示例4-14-1 输入若干个成绩,求所有成绩的平均分。每输入一个成绩后询问是否继续输入下一个成绩,回答“yes”就继续输入下一个成绩,回答“no”就停止输入成绩。144.4 精彩案例赏析numbers=#使用列表存放临时数据while True:x=input(请输入一个成绩:)try:#异常处理结构 numbers.append(float(x)except:print(不是合法成绩)while True:flag=input(继续输入吗?(yes/no))if flag.low
5、er()not in(yes,no):#限定用户输入内容必须为yes或no print(只能输入yes或no)else:break if flag.lower()=no:breakprint(sum(numbers)/len(numbers)154.4 精彩案例赏析示例示例4-4-2 编写代码,模拟决赛现场最终成绩的计算过程。while True:try:n=int(input(请输入评委人数:)if n=2:print(评委人数太少,必须多于2个人。)else:break except:pass scores=164.4 精彩案例赏析for i in range(n):#这个while循环用
6、来保证用户必须输入0到100之间的数字 while True:try:score=input(请输入第0个评委的分数:.format(i+1)#把字符串转换为实数 score=float(score)assert 0=score=100 scores.append(score)#如果数据合法,跳出while循环,继续输入下一个评委的分数 break except:print(分数错误)174.4 精彩案例赏析#计算并删除最高分与最低分highest=max(scores)lowest=min(scores)scores.remove(highest)scores.remove(lowest)finalScore=round(sum(scores)/len(scores),2)formatter=去掉一个最高分0n去掉一个最低分1n最后得分2print(formatter.format(highest,lowest,finalScore)18