资源简介 单元3 逻辑运算与流程控制课程名称 Python程序设计任务驱动式教程 章名 逻辑运算与流程控制教学内容 逻辑运算与流程控制 课时 6项目性质 □演示性 □验证性 □设计性 √综合性授课班级 授课日期 授课地点教学目标 了解Python的程序结构、流程控制等知识 掌握Python的比较运算符及其应用 掌握Python的逻辑运算符及其应用 掌握Python的选择结构及其应用 掌握for循环语句及其应用 掌握while循环语句及其应用教学内容 Python的比较运算符及其应用 Python的逻辑运算符及其应用 Python的选择结构及其应用 for循环语句及其应用 while循环语句及其应用教学重点 Python的if选择语句、Python的for循环语句、Python的while循环语句教学难点 Python的if选择语句、Python的for循环语句、Python的while循环语句教学准备 装有Python的计算机 教学课件PPT 教材:《Python程序设计任务驱动式教程(微课版)》作业设计18教学过程教学环节 教学内容与过程 (教学内容、教学方法、组织形式、教学手段)课前组织 做好上课前的各项准备工作(打开计算机、打开课件、打开软件、打开授课计划、教案等),吸引学生注意力。课程说明 【课前说明】 分别从Python的程序结构、流程控制等知识点进行初步的了解。 【目的】 使学生从了解本节课的学习目标、学习重点、考评方式等方面明确课程学习的要求和目标。课程内容描述 3.1 Python的比较运算符及其应用 3.1.1 Python的比较运算符与比较表达式 比较运算符,也称为关系运算符。用于对变量或表达式的结果进行大小比较、真假比较等,如果比较结果为成立则返回True,如果为不成立则返回False。 Python的比较运算符及应用实例如表所示,所有比较运算符的运行结果返回1表示真,返回0表示假,这分别与布尔值True和False等价,True和False的首字母必须大写。表中的实例假设变量x为21、变量y为10,即x=21、y=10。 Python的比较运算符及应用实例 运算符名称说明实例运行结果==等于比较x和y两个对象是否相等x == yFalse!=不等于比较x和y两个对象是否不相等x != yTrue>大于比较x是否大于yx > yTrue<小于比较x是否小于yx < yFalse>=大于或等于比较x是否大于或等于yx >= yTrue<=小于或等于比较x是否小于或等于yx <= yFalse例如: >>>x = 5 >>>y = 8 >>>print(x == y) >>>print(x != y) 以上实例的运行结果如下。 False True 比较运算符与比较对象(变量或表达式)构建的比较表达式也称为关系表达式。比较表达式通常在选择语句和循环语句中作为“条件表达式”。 3.1.2 逻辑值测试 在Python中,所有的对象都可以进行逻辑值测试。以下情况逻辑值测试结果为False,即在选择语句和循环语句中表示条件不成立。 (1)False、None。 (2)数值中的零,包括0、0.0、虚数0。 (3)空序列,包括空字符串、空列表、空元组、空字典。 (4)自定义对象的实例,该对象的__bool__()方法返回False,或者__len__()方法返回0。 【实例3-1】演示逻辑值测试 实例3-1的代码如下所示。 test=None if test: print("None为逻辑真") else: print("None为逻辑假") 实例3-1的运行结果如下。 None为逻辑假 在Python中,要判断特定的值是否存在于序列中,可以使用关键字in;判断特定的值是否不存在于序列中,可以使用关键字not in。 【任务3-1】应用比较运算符设置查询条件表达式 【任务描述】 (1)在PyCharm集成开发环境中创建项目Unit03。 (2)在项目Unit03中创建Python程序文件3-1.py。 (3)参考下图所示的京东购物网站图书高级搜索界面中的多种查询选项设置,分别按图书名称、出版社、价格、出版日期设置查询条件表达式。 京东购物网站图书高级搜索界面 (4)有一本出版的图书,其主要信息是:图书名称为《HTML5+CSS3网页设计与制作实战》,出版社为人民邮电出版社,价格为59.80元,出版日期为2019年11月。分别以图书名称、出版社、价格、出版日期为查询选项,设置相应的查询条件表达式。 (5)在PyCharm集成开发环境中运行程序文件3-1.py,输出查询条件表达式的值。 【任务实施】 1.创建PyCharm项目Unit03 成功启动PyCharm后,在指定位置“D:\PycharmProject\”创建PyCharm项目Unit03。 2.创建Python程序文件3-1.py 在PyCharm项目Unit03中新建Python程序文件3-1.py,同时PyCharm主窗口显示程序文件3-1.py的代码编辑窗口,在该程序文件的代码编辑窗口自动添加了模板内容。 3.编写Python程序代码 在新建程序文件3-1.py的代码编辑窗口已有模板注释内容下面输入程序代码,程序文件3-1.py的代码如电子活页3-1所示。 单击工具栏中的【保存】按钮,保存程序文件3-1.py。 4.运行Python程序 在PyCharm主窗口选择【Run】菜单,在弹出的下拉菜单中选择【Run】。在弹出的【Run】对话框中选择“3-1”选项,程序文件3-1.py开始运行。 程序文件3-1.py的运行结果如下。 判断图书名称: True False 判断出版社: False True 判断价格1: True 判断价格2: False 判断价格3: True 判断价格4: False 判断出版日期1: True 判断出版日期2: False 判断出版日期3: True 判断出版日期4: False 3.2 Python的逻辑运算符及其应用 逻辑运算符是对True和False两种布尔值进行运算,运算后的结果仍是一个布尔值。 3.2.1 Python的逻辑运算符与逻辑表达式 Python支持逻辑运算符,Python的逻辑运算符及应用实例如表所示。表中的实例假设变量x为21、y为10、z为0,即x=21、y=10、z=0。 Python的逻辑运算符及应用实例 运算符名称逻辑表达式结合方向说明实例运算结果and逻辑与x and y从左到右如果x为False或0,x and y返回False或0,否则返回y的计算值x and y10x and z0z and x0or逻辑或x or y从左到右如果x为True,则返回x的值,否则返回y的计算值x or y21x or z21z or x21not逻辑非not x从右到左如果x为True,则返回False。如果x为False,则返回Truenot xFalsenot yFalsenot (x and y)Falsenot (x or y)Falsenot zTrue3.2.2 Python运算符优先级 所谓运算符的优先级,是指在Python程序中哪一个运算符先运算,哪一个运算符后运算。 Python运算符的运算规则是:优先级高的运算符先运行,优先级低的运算符后运行,同一优先级的运算符则按照从左到右的顺序进行。可以使用圆括号“()”改变优先级,括号内的运算符最先运行。编写程序时尽量使用圆括号来主动控制运算次序,以免运算次序不确定或发生错误。 Python所有运算符从最高到最低的优先级如表所示,表中同一行中的运算符具有相同优先级,它们的结合方向决定求值顺序。 Python所有运算符从最高到最低的优先级 序号运算符说明1**幂(最高优先级)2~、+、-位取反、正号和负号3*、/、%、//算术运算符:乘、除、取余和取整除4+、-算术运算符:加、减5>>、<<位运算符:右移位、左移位6&位运算符:位与7|、^位运算符:位或、位异或8<=、<>、>=比较运算符9==、!=等于、不等于10=、+=、-=、*=、**=、/=、//=、%=赋值运算符11is、is not身份运算符12in、not in成员运算符13not、or、and逻辑运算符【实例3-2】演示Python运算符优先级的操作 实例3-2的代码如下所示。 a = 20 b = 10 c = 15 d = 5 e = 0 e = (a + b) * c / d #( 30 * 15 ) / 5 print("(a + b) * c / d 运算结果为:", e) e = ((a + b) * c) / d # (30 * 15 ) / 5 print("((a + b) * c) / d 运算结果为:", e) e = (a + b) * (c / d); # 30 * (15/5) print("(a + b) * (c / d) 运算结果为:", e) e = a + (b * c) / d; #20 + (150/5) print("a + (b * c) / d 运算结果为:", e) 实例3-2的运行结果如下。 (a + b) * c / d 运算结果为: 90.0 ((a + b) * c) / d 运算结果为: 90.0 (a + b) * (c / d) 运算结果为: 90.0 a + (b * c) / d 运算结果为: 50.0 【实例3-3】演示逻辑运算符的优先级 逻辑运算符and拥有更高优先级,实例3-3的代码如下所示。 x = True y = False z = False if x or y and z: print("YES") else: print("NO") 实例3-3的运行结果如下。 YES 【任务3-2】应用比较运算符与逻辑运算符设置条件表达式 【任务描述】 (1)在项目Unit03中创建Python程序文件3-2.py。 (2)参考图3-2所示的京东购物网站图书高级搜索界面中价格区间和出版时间区间的设置,分别按价格、出版日期设置区间查询条件表达式。 (3)有一本出版的图书,其主要信息是:图书名称为《HTML5+CSS3网页设计与制作实战》,出版社为人民邮电出版社,价格为59.80元,出版日期为2019年11月。分别以图书名称与出版社、价格与出版日期为查询选项,设置相应的查询条件表达式。 (4)在PyCharm集成开发环境中运行程序文件3-2.py,输出区间查询条件表达式的值。 【任务实施】 1.创建Python程序文件3-2.py 在PyCharm项目Unit03中新建Python程序文件3-2.py,同时PyCharm主窗口显示程序文件3-2.py的代码编辑窗口,在该程序文件的代码编辑窗口自动添加了模板内容。 2.编写Python程序代码 在新建程序文件3-2.py的代码编辑窗口已有模板注释内容下面输入程序代码,程序文件3-2.py的代码如电子活页3-2所示。 单击工具栏中的【保存】按钮,保存程序文件3-2.py。 3.运行Python程序 在PyCharm主窗口选择【Run】菜单,在弹出的下拉菜单中选择【Run】。在弹出的【Run】对话框中选择“3-2”选项,程序文件3-2.py开始运行。 程序文件3-2.py的运行结果如下。 判断价格范围1: True 判断价格范围2: False 判断出版日期范围1: True 判断出版日期范围2: False 判断出版日期范围3: True 判断图书名称与出版社: True 判断价格与出版日期: True 3.3 Python的选择结构及其应用 Python的选择结构主要根据条件表达式的结果选择运行不同语句的流程结构,选择语句也称为条件语句,即按照条件选择运行不同的代码片段,Python中选择语句主要有3种形式:if语句、if…else语句和if…elif…else语句。在Python中可使用if…elif…else多分支语句或者if语句的嵌套结构实现多重选择。 3.3.1 if语句及其应用 Python中使用if保留字来构成选择语句,if语句的一般形式如下。 if <条件表达式> : <语句块> Python中if语句的代码运行过程如图3-3所示。 if语句的代码运行过程 条件表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式。如果条件表达式的值为True,则运行“<语句块>”;如果条件表达式的值为False,就跳过“<语句块>”,继续运行后面的语句。 例如: >>> password= input("请输入密码:") 运行结果如下。 请输入密码:123456 >>> if password =="123456": print("输入的密码正确") 运行结果如下。 输入的密码正确 【实例3-4】演示Python中if语句的用法 实例3-4的代码如下所示。 var1 = 100 if var1: print("1-if表达式条件为True") print(var1) var2 = 0 if var2: print("2-if表达式条件为True") print(var2) print("Good bye!") 实例3-4的运行结果如下。 1-if表达式条件为True 100 Good bye! 从结果可以看到由于变量var2为0,所以对应的if内的语句没有运行。 【任务3-3】应用if语句实现用户登录 【任务描述】 (1)在项目Unit03中创建Python程序文件3-3.py。 (2)假设目前用户状态为False,应用if语句实现用户登录,并输出“你好,欢迎登录”的欢迎信息。 【任务实施】 1.创建Python程序文件3-3.py 在PyCharm项目Unit03中新建Python程序文件3-3.py,同时PyCharm主窗口显示程序文件3-3.py的代码编辑窗口,在该程序文件的代码编辑窗口自动添加了模板内容。 2.编写Python程序代码 在新建程序文件3-3.py的代码编辑窗口已有模板注释内容下面输入程序代码,程序文件3-3.py的代码如下所示。 userState=False if not userState: print("你好,欢迎登录") 单击工具栏中的【保存】按钮,保存程序文件3-3.py。 3.运行Python程序 在PyCharm主窗口选择【Run】菜单,在弹出的下拉菜单中选择【Run】。在弹出的【Run】对话框中选择“3-3”选项,程序文件3-3.py开始运行。 程序文件3-3.py的运行结果如下所示。 你好,欢迎登录 3.3.2 if…else语句及其应用 Python中if…else语句的一般形式如下。 if <条件表达式> : <语句块1> else: <语句块2> if…else语句主要是实现二选一的问题,使用if…else语句时,条件表达式可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式。如果条件表达式的值为True,则运行if语句后面的语句块1,否则运行else后面的语句块2。 【实例3-5】演示Python中if…else语句的用法 实例3-5的代码如下所示。 password= input("请输入密码:") if password =="123456": print("输入的密码正确") else: print("输入的密码错误") 实例3-5的运行结果如下。 请输入密码:666 输入的密码错误 【任务3-4】应用if…else语句实现用户登录 【任务描述】 (1)在项目Unit03中创建Python程序文件3-4.py。 (2)假设用户名称为“jdchenchkps PLUS”,目前用户状态为True,应用if…else语句实现用户登录,并输出“你好,请登录 免费注册”的信息。 【任务实施】 1.创建Python程序文件3-4.py 在PyCharm项目Unit03中新建Python程序文件3-4.py,同时PyCharm主窗口显示程序文件3-4.py的代码编辑窗口,在该程序文件的代码编辑窗口自动添加了模板内容。 2.编写Python程序代码 在新建程序文件3-4.py的代码编辑窗口已有模板注释内容下面输入程序代码,程序文件3-4.py的代码如下所示。 user="jdchenchkps PLUS" userState=True if userState: print(user) else: print("你好,请登录 免费注册") 单击工具栏中的【保存】按钮,保存程序文件3-4.py。 3.运行Python程序 在PyCharm主窗口选择【Run】菜单,在弹出的下拉菜单中选择【Run】。在弹出的【Run】对话框中选择“3-4”选项,程序文件3-4.py开始运行。 程序文件3-4.py的运行结果如下。 jdchenchkps PLUS 3.3.3 if…elif…else语句及其应用 Python中if…elif…else语句的一般形式如下。 if <条件表达式1> : <语句块1> elif <条件表达式2> : <语句块2> else: <语句块N> Python中用elif代替了else if,所以多分支选择结构的关键字为:if、elif和else。 if…elif…else语句运行的规则如下。 条件表达式1和条件表达式2可以是一个单纯的布尔值或变量,也可以是比较表达式或逻辑表达式。 如果条件表达式1的值为True将运行语句块1;如果条件表达式1的值为False,将判断条件表达式2,如果条件表达式2的值为True将运行语句块2;如果条件表达式1和条件表达式2的值都为False,将运行语句块N。 【实例3-6】演示Python中if…elif…else语句的用法 实例3-6的代码如下所示。 score=86 grade="" if score>=90: grade="A" elif score>=80: grade="B" elif score>=60: grade="C" else: grade="D" print("考试成绩为:{},等级为:{}等。".format(score,grade)) 实例3-6的运行结果如下。 考试成绩为:86,等级为:B等。 【任务3-5】应用if…elif…else语句计算分期付款的服务费 【任务描述】 (1)在项目Unit03中创建Python程序文件3-5.py。 (2)在京东网上商城购置商品时可以选择京东白条分期付款方式,分期的期数分别有1期、3期、6期、12期、24期,假设每期收取的服务费分别为0元、11.53元、5.87元、3.03元、1.61元,京东网上商城的白条分期服务费标准如图所示。应用if…elif…else语句计算白条分期的服务费,并输出服务费,小数位保留2位有效位。 京东网上商城的白条分期服务费标准 【任务实施】 1.创建Python程序文件3-5.py 在PyCharm项目Unit03中新建Python程序文件3-5.py,同时PyCharm主窗口显示程序文件3-5.py的代码编辑窗口,在该程序文件的代码编辑窗口自动添加了模板内容。 2.编写Python程序代码 在新建程序文件3-5.py的代码编辑窗口已有模板注释内容下面输入程序代码,程序文件3-5.py的代码如下所示。 term=int(input("请选择分几期付款(1、3、6、12、24):")) if term==1: serviceFee=0 elif term==3: serviceFee = term * 11.53 elif term==6: serviceFee = term * 5.87 elif term==12: serviceFee = term * 3.03 elif term==24: serviceFee = term * 1.61 print("服务费为:{:.2f}元".format(serviceFee)) 单击工具栏中的【保存】按钮,保存程序文件3-5.py。 3.运行Python程序 在PyCharm主窗口选择【Run】菜单,在弹出的下拉菜单中选择【Run】。在弹出的【Run】对话框中选择“3-5”选项,程序文件3-5.py开始运行。 程序文件3-5.py的运行结果如下。 请选择分几期付款(1、3、6、12、24):6 服务费为:35.22元 3.3.4 if语句的嵌套结构 前面介绍了3种形式的if选择语句,这3种形式的选择语句可以互相进行嵌套。if选择语句可以有多种嵌套方式,编写程序时可以根据需要选择合适的嵌套方式,例如,if语句中可以嵌套if…else语句,if…else语句可以嵌套if…else语句,if...elif...else语句可以嵌套另一个if...elif...else语句。if语句的嵌套一定要严格控制好不同级别代码块的缩进量。 Python中if语句的嵌套结构的一般形式如下。 if <表达式11>: <语句11> if <表达式21>: <语句21> elif <表达式22>: <语句22> else: <语句23> elif <表达式12>: <语句12> else: <语句13> 【实例3-7】演示if语句的嵌套结构的用法 实例3-7的代码如下所示。 num=int(input("输入一个数字:")) if num%2==0: if num%3==0: print("输入的数字可以被2和3整除。") else: print("输入的数字可以被2整除,但是不能被3整除。") else: if num%3==0: print("输入的数字可以被3整除,但不能被2整除。") else: print("输入的数字不能被2和3整除。") 实例3-7的运行结果如下。 输入一个数字:7 输入的数字不能被2和3整除。 【任务3-6】应用if选择语句计算网上购物的运费与优惠金额等 【任务描述】 从京东商城购买4本Python编程图书《Python从入门到项目实践(全彩版)》,该书原价为99.80元。由于京东商城针对不同等级的会员有不同的优惠价格,对于普通会员的优惠价格为77.80元,对于“粉丝”(FAN)会员的优惠价格为76.80元,对于PLUS会员的优惠价格为75.50元。如果购买图书满148元可以直减5元,满299元可以直减15元;另外,购买图书每满100元,还可以直减50元现金,相关优惠信息如图所示。 京东商城图书《Python从入门到项目实践(全彩版)》的优惠信息 在京东商城购买图书的运费收取标准为:如果订单金额小于49元,收取基础运费6元;如果订单金额大于或等于49元,则免收基础运费。 (1)在项目Unit03中创建Python程序文件3-6.py。 (2)编写程序,应用if选择语句的多种形式,计算并且输出购买4本Python编程图书《Python从入门到项目实践(全彩版)》的应付总商品金额、运费、返现金额、优惠金额、优惠总额、实付总额。 【任务实施】 1.创建Python程序文件3-6.py 在PyCharm项目Unit03中新建Python程序文件3-6.py,同时PyCharm主窗口显示程序文件3-6.py的代码编辑窗口,在该程序文件的代码编辑窗口自动添加了模板内容。 2.编写Python程序代码 在新建程序文件3-6.py的代码编辑窗口已有模板注释内容下面输入程序代码,程序文件3-6.py的代码如电子活页3-3所示。 单击工具栏中的【保存】按钮,保存程序文件3-6.py。 3.运行Python程序 在PyCharm主窗口选择【Run】菜单,在弹出的下拉菜单中选择【Run】。在弹出的【Run】对话框中选择“3-6”选项,程序文件3-6.py开始运行。 程序文件3-6.py的运行结果如下。 4件商品,应付总商品金额: 307.20 运费: 0.00 返现金额:- 150.00 优惠金额:- 15.00 商品已享用3次优惠,优惠总额:- 165.00 实付总额: 142.20 【任务3-7】应用if选择语句验证用户名和密码实现登录 【任务描述】 (1)在项目Unit03中创建Python程序文件3-7.py。 (2)编写程序,应用if选择语句的多种形式,分别验证是否输入用户名、是否输入密码、用户名与密码是否正确,并根据验证情况分别输入相应的提示信息。 【任务实施】 1.创建Python程序文件3-7.py 在PyCharm项目Unit03中新建Python程序文件3-7.py,同时PyCharm主窗口显示程序文件3-7.py的代码编辑窗口,在该程序文件的代码编辑窗口自动添加了模板内容。 2.编写Python程序代码 在新建程序文件3-7.py的代码编辑窗口已有模板注释内容下面输入程序代码,程序文件3-7.py的代码如电子活页3-4所示。 单击工具栏中的【保存】按钮,保存程序文件3-7.py。 3.运行Python程序 在PyCharm主窗口选择【Run】菜单,在弹出的下拉菜单中选择【Run】。在弹出的【Run】对话框中选择“3-7”选项,程序文件3-7.py开始运行。 程序文件3-7.py的运行结果如下。 用户名长度为:4 密码长度为:6 成功登录! 3.4 for循环语句及其应用 循环结构是在一定条件下反复运行某段程序的流程结构,被反复运行的语句体称为循环体,决定循环是否终止的判断条件称为循环条件。 Python中的循环语句有for和while两种类型。Python中for循环也称为计次循环,其循环语句可以遍历任何序列数据,例如列表或者字符串。while循环也称为条件循环,可以一直进行循环,直到条件不满足时才结束循环。 3.4.1 for循环语句 for循环是计次循环,通常适用于枚举或遍历序列,以及迭代对象中的元素,一般应用于循环次数已知的情况下。 1.for循环语句的基本格式 for循环语句的基本格式如下。 for <循环变量> in <序列结构>: <语句块> 循环变量用于保存取出的值,序列结构为要遍历或迭代的序列对象,例如字符串、列表、元组等,语句块为一组被重复运行的多条语句。 for循环语句的运行流程如图所示。 for循环语句的运行流程 Python中for循环的实例如下。 >>>publisher = ["人民邮电出版社", "高等教育出版社", "电子工业出版社"] >>>for item in publisher: print(item) 运行结果如下。 人民邮电出版社 高等教育出版社 电子工业出版社 2.使用内置range()函数生成序列数据 使用内置range()函数生成序列数据,然后使用for语句遍历序列,例如: >>>for item in range(5): print(item, end=" ") 运行结果如下。 0 1 2 3 4 也可以使用range()函数指定区间的值生成序列数据,然后使用for语句遍历序列,例如: >>>for item in range(5,9) : print(item, end=" ") 运行结果如下。 5 6 7 8 也可以使用range()函数指定数据序列开始数值、终点数值、增量(也称为“步长”),然后使用for语句遍历序列,例如: >>>for item in range(1, 10, 3) : print(item, end=" ") 运行结果如下。 1 4 7 range()函数中指定的增量也可以是负数,例如: >>>for item in range(10, 1, -3) : print(item, end=" ") 运行结果如下所示。 10 7 4 【实例3-8】结合range()函数、len()函数遍历一个列表 实例3-8的代码如下所示。 publisher = ["人民邮电出版社", "高等教育出版社", "电子工业出版社"] for item in range(len(publisher)): print(item+1, publisher[item]) 实例3-8的运行结果如下。 1 人民邮电出版社 2 高等教育出版社 3 电子工业出版社 3.4.2 for…else语句 Python中的for循环语句可以有else语句,它在for循环穷尽序列导致循环终止时被运行,但循环被break语句终止时不运行。 for…else语句的基本语法格式如下。 for <变量> in <序列结构>: <语句块1> else: <语句块2> 当for循环没有被break语句终止时,运行else语句。 【实例3-9】演示应用循环结构判断质数 实例3-9的代码如下所示。 for n in range(2, 8): for m in range(2, n): if n % m == 0: print(n, '=', m, '*', n//m) break else: print(n, '是质数') #循环中没有找到元素 实例3-9的运行结果如下。 2 是质数 3 是质数 4 = 2 * 2 5 是质数 6 = 2 * 3 7 是质数 【任务3-8】应用for循环语句显示进度的百分比 【任务描述】 (1)在项目Unit03中创建Python程序文件3-8.py。 (2)编写程序,应用for循环语句实现在一行中显示下载百分比进度。 【任务实施】 1.创建Python程序文件3-8.py 在PyCharm项目Unit03中新建Python程序文件3-8.py,同时PyCharm主窗口显示程序文件3-8.py的代码编辑窗口,在该程序文件的代码编辑窗口自动添加了模板内容。 2.编写Python程序代码 在新建程序文件3-8.py的代码编辑窗口已有模板注释内容下面输入程序代码,程序文件3-8.py的代码如下所示。 import time for x in range(101): mystr = "百分比:" + str(x) + "%" print(mystr,end = "") print("\b" * (len(mystr)*2),end = "",flush=True) time.sleep(0.5) 单击工具栏中的【保存】按钮,保存程序文件3-8.py。 程序文件3-8.py的代码解读如下。 (1)range(101):使用range()函数产生一个数字列表,从0开始到100结束。 (2)str(x):把x变量转换成字符串。 (3)print(mystr,end = "") :输出字符串之后不换行,即end=""。 (4)print("\b" * (len(mystr)*2),end = "",flush=True):其中"\b" * (len(mystr)*2)表示输出“\b”这个转义字符的次数为“len(mystr)*2”次。len()函数得到字符串长度,为什么要乘以2呢?原因是输出的字符串是中文,而1个中文字符的占位长度相当于2个英文字符,所以如果字符串是英文字符则可以不乘以2,但是中文字符就不同了。“flush = True”表示开启缓冲区,“\b”转义字符表示退格功能,相当于在编辑文件的时候按【BackSpace】键,从光标位置往前删掉一个字符。 (5)time.sleep(0.5):让程序暂停0.5秒。 这样就能实现每次运行print()之后,“\b”帮我们把一行内的字符都清光,这就是我们要获得字符串长度的原因。 3.在Windows的【命令提示符】窗口运行Python程序 打开Windows的【命令提示符】窗口,然后在提示符后面输入以下命令。 python D:\PycharmProject\Unit03\3-8.py 按【Enter】键即可运行程序文件3-8.py。进度为28%时运行结果如下左图所示,下载完毕进度为100%时运行结果如下右图所示。 进度为28% 进度为100% 3.5 while循环语句及其应用 Python中的while循环是指通过一个条件表达式来控制是否要继续反复运行循环体中的语句块。 3.5.1 while循环语句 Python中while语句的一般形式如下。 while <条件表达式>: <语句块> 当while语句的条件表达式的值为True时,则运行循环体的语句块;运行一次后重新判断条件表达式的值,直到条件表达式的值为False时,退出while循环。 while循环语句的运行流程如图所示。 while循环语句的运行流程 【实例3-10】演示使用while循环语句计算1到10的总和 实例3-10的代码如下所示。 n = 10 sum = 0 number = 1 while number <= n: sum = sum + number number += 1 print("1 到{}之和为: {}".format(n,sum)) 实例3-10的运行结果如下。 1 到10之和为: 55 3.5.2 while…else语句 Python中的while循环语句也可以有else子句,它在while循环语句的条件表达式的值为False导致循环终止时被运行,但循环被break语句终止时不会运行。 while…else语句的基本语法格式如下。 while <判断条件>: <语句块1> else: <语句块2> while循环的条件表达式为False时,当while循环没有被break语句终止时,运行else后面的语句块2。else语句可以理解为:作为“正常”完成循环的奖励。 【实例3-11】演示应用循环输出数字,并判断大小 实例3-11的代码如下所示。 count = 0 while count < 5: print (count, "小于5") count = count + 1 else: print (count, "大于或等于5") 实例3-11的运行结果如下。 0 小于5 1 小于5 2 小于5 3 小于5 4 小于5 5 大于或等于5 3.5.3 循环中的跳转语句 循环中的break语句用于跳出并结束当前的整个循环,运行循环后的语句。continue语句用于结束当次循环,继续运行后续次数的循环。while循环中break语句和continue语句的运行流程如图所示。 while循环中break语句和continue语句的运行流程 1.for循环中使用break语句 break语句用于提前终止当前的for循环,一般结合if语句搭配使用,表示在某种条件下跳出循环。如果是嵌套循环,break语句将会跳出最内层的循环。 for循环中使用break语句的基本格式如下。 for <循环变量> in <序列结构>: <语句块> if <条件表达式>: break 其中,条件表达式用于判断何时调用break语句跳出循环。 【实例3-12】演示for循环中使用break语句 实例3-12的代码如下所示。 publisher=["人民邮电出版社","高等教育出版社","电子工业出版社","清华大学出版社"] for item in publisher: if item == "电子工业出版社": print("跳出for循环") break print("循环数据:" + item) else: print("没有循环数据") print("循环结束") 实例3-12的运行结果如下。 循环数据:人民邮电出版社 循环数据:高等教育出版社 跳出for循环 循环结束 在循环到“电子工业出版社”时,if语句的条件表达式的值为True,运行break语句跳出循环。 2.while循环中使用break语句 循环中使用break语句可以跳出for或while循环,如果从for或while循环中终止,任何对应的循环else语句块将不运行。 while循环中使用break语句的基本格式如下。 while <条件表达式1>: <语句块> if <条件表达式2>: break 其中,条件表达式2用于判断何时调用break语句跳出循环。 【实例3-13】演示while循环中使用break语句 实例3-13的代码如下所示。 n = 5 while n > 0: n -= 1 if n == 2: break print(n) print("循环结束。") 实例3-13的运行结果如下。 4 3 循环结束。 3.for循环中使用continue语句 continue语句只能终止本次循环而提前进入下一次循环。一般会结合if语句搭配使用,表示在某种条件下跳过当前循环的剩余语句,然后继续运行下一轮循环。如果是嵌套循环,continue语句将只跳过最内层循环中的剩余语句。 for循环中使用continue语句的格式如下。 for <循环变量> in <序列结构>: <语句块> if <条件表达式>: continue 其中,条件表达式用于判断何时调用continue语句终止本次循环。 【实例3-14】演示for循环中使用continue语句 实例3-14的代码如下所示。 publisher=["人民邮电出版社","高等教育出版社","电子工业出版社","清华大学出版社"] for item in publisher: if item == "电子工业出版社": print("终止本次循环") continue print("循环数据:" + item) print("循环结束") 实例3-14的运行结果如下。 循环数据:人民邮电出版社 循环数据:高等教育出版社 终止本次循环 循环数据:清华大学出版社 循环结束 4.while循环中使用continue语句 while循环中使用continue语句可以跳过当前循环中的剩余语句,然后继续进行下一轮循环。 while循环中使用continue语句的格式如下。 while <条件表达式1>: <语句块> if <条件表达式2>: continue 其中,条件表达式2用于判断何时调用continue语句终止本次循环。 【实例3-15】演示while循环中使用continue语句 实例3-15的代码如下所示。 n = 5 while n > 0: n -= 1 if n == 2: continue print(n) print("循环结束。") 实例3-15的运行结果如下。 4 3 1 0 循环结束。 【任务3-9】应用while循环语句实现网上抢购倒计时功能 【任务描述】 (1)在项目Unit03中创建Python程序文件3-9.py。 (2)编写程序,应用while循环语句与if…else语句的嵌套结构实现网上抢购倒计时功能。 【任务实施】 1.创建Python程序文件3-9.py 在PyCharm项目Unit03中新建Python程序文件3-9.py,同时PyCharm主窗口显示程序文件3-9.py的代码编辑窗口,在该程序文件的代码编辑窗口自动添加了模板内容。 2.编写Python程序代码 在新建程序文件3-9.py的代码编辑窗口已有模板注释内容下面输入程序代码,程序文件3-9.py的代码如电子活页3-5所示。 单击工具栏中的【保存】按钮,保存程序文件3-9.py。 3.运行Python程序 在PyCharm主窗口选择【Run】菜单,在弹出的下拉菜单中选择【Run】。在弹出的【Run】对话框中选择“3-9”选项,程序文件3-9.py开始运行。 程序文件3-9.py的运行结果的部分内容如下。 距结束6时37分7秒 距结束6时37分6秒 距结束6时37分5秒 距结束6时37分4秒 距结束6时37分3秒 距结束6时37分2秒 距结束6时37分1秒 距结束6时37分0秒 距结束6时36分59秒 【任务3-10】综合应用循环结构的嵌套结构实现倒计时功能 【任务描述】 (1)在项目Unit03中创建Python程序文件3-10.py。 (2)编写程序,综合应用while循环语句、for循环语句、if语句与break语句及嵌套结构实现倒计时功能。 【任务实施】 1.创建Python程序文件3-10.py 在PyCharm项目Unit03中新建Python程序文件3-10.py,同时PyCharm主窗口显示程序文件3-10.py的代码编辑窗口,在该程序文件的代码编辑窗口自动添加了模板内容。 2.编写Python程序代码 在新建程序文件3-10.py的代码编辑窗口已有模板注释内容下面输入程序代码,程序文件3-10.py的代码如电子活页3-6所示。 3.在Windows的【命令提示符】窗口运行Python程序 打开Windows的【命令提示符】窗口,然后在提示符后面输入以下命令。 python D:\PycharmProject\Unit03\3-10.py 按【Enter】键即可运行程序文件3-10.py。下左图所示为倒计时1时59分47秒的运行结果,下右图所示为倒计时0时54分56秒的运行结果。 时间为1时59分47秒 时间为0时54分56秒总结评价 本单元主要学习Python的比较运算符及其应用、Python的逻辑运算符及其应用、Python的选择结构及其应用、for循环语句及其应用、while循环语句及其应用。 展开更多...... 收起↑ 资源预览