配色: 字号:
《Python基础案例教程》第3章(微课版)课件
2022-12-13 | 阅:  转:  |  分享 
  
《Python基础案例教程》(微课版)第3章 Python程序控制张 青第3章 Python程序控制做事需要进行思考,根据情况选择正确、
合适的方法。例如,行走路过红绿灯,红灯停、绿灯行;上学,有多种交通工具可供选择,公交车、走路、骑自行车等。生活中除了要做选择,有时
也需要重复做某件事。例如,学生上学、放学,周末休息,日复一日,年复一年。程序设计也一样,需要利用流程实现与用户的交流,并根据用户的
需求来决定做什么,怎么做。程序控制对于任何一门编程语言来说都是至关重要的,它提供了控制程序如何执行的方法。本章主要讲述Python
语言中程序控制语句。教学内容01 程序分支02 程序循环03 程序跳转目录CONTENTS3.1.1 if语句本课知识点单分支
if语句是最简单的条件判断语句,语句的关键字为if,它在编程语言中用来判定所给定的条件是否满足,根据判定的结果(真或假),来决定是
否执行相应的语句块。 if…语句的执行过程如图3.1所示,其相当于“如果…那么…”。如果条件成立,即表达式的值为真,则
执行语句块;如果值为假,就跳过语句块,继续执行后面的语句。3.1.1 if语句本课知识点Python语言使用if保留字来组成选择
语句,其语法形式如下:3.1.1 if语句本课知识点选择结构的代码缩进 在Python选择结构中,同一个语句块中的语句必须保证相同
的缩进量。如图所示的程序作用是,输入两个数,如果前一个数大,就交换两个数的位置。交换两个数的位置用到了3个语句,其缩进应该相同,如
果缩进的位置不同,程序运行结果将会不同。3.1.1 if语句本课知识点if语句中的表达式在Python的if语句中,通过表达式的值
决定是否执行语句,如本案例中判断一个数是不是偶数,使用的表达式是“num % 2==0”,除了这种写法外,还可以写作“num/2=
=int(num/2)” “num / 2 ==num // 2”。案例分析什么是偶数?小学五年级时,数学课上学习过“整数中是2的
倍数的数叫做偶数”。你能编写程序,判断一个数是不是偶数吗?3.1.1 if语句num = int(input("请输入一个数:"
))if (num % 2) == 0: print(num,"是偶数")3.1.2 if…else语句本课知识点程序在执行
时,先对条件进行判断,再根据条件的正确与否,决定程序执行的语句,这种情况称为双分支结构,Python利用if…else语句来实现。
if…else语句的执行过程如图所示。如果条件成立,则执行语句块1;否则执行语句块2;双分支语句执行完成后,继续执行分支后面的语句
。3.1.2 if…else语句本课知识点Python语言使用if、else保留字来组成双分支语句,其语法形式如下:3.1.2
if…else语句本课知识点if…else语句使用注意事项在Python中使用if…else语句,要注意缩进以及冒号的使用,具体
如图所示。3.1.2 if…else语句本课知识点用if语句改写if…else语句编写的代码 在Python中,用if…els
e语句编写的代码,可以用if语句改写。例如,本案例中代码可以改写为如图所示。3.1.2 if…else语句案例分析m =0k =
float(input("请输入里程数:"))if k <= 2.5: m= 8elif k > 2.5: m =
8+ (k - 2.5) 1.5print("应付金额:" ,m) 方舟市出租车起步价与汽车排量有关,每辆出租车的
计费方式因此不同,如一辆排量为1.5T出租车的收费标准为:2.5千米以内8元,2.5千米以外每千米收费1.5元,你能编写程序,根据
乘客乘坐的距离,求出应支付的打车费用吗?3.1.3 选择嵌套本课知识点选择语句嵌套的执行过程,如图所示,相当于在一个单支语句下嵌
入两个单分支语句,构成选择嵌套结构。编写程序时,如果遇到需要从多个选项中选择一个的情况,则可以使用选择语句嵌套,该语句是单分支选择
语句的拓展。3.1.3 选择嵌套本课知识点前面学过了双分支语句,但若是遇到所要判断的情况不止两种,可以使用选择语句嵌套,格式如下
:3.1.3 选择嵌套本课知识点选择嵌套的缩进注意事项选择嵌套语句中的if是层层嵌套的结构关系,因此在编写代码时要注意缩进,如图3
.13所示:3.1.3 选择嵌套本课知识点if语句与else语句配合 在Python中,if选择结构可以与else
语句配合使用,当选择条件为 False 时,程序会执行 else语句下的语句块。以判断成绩的等级为例,如图3.14所示,从键盘上接
收一个百分制成绩(0-100),要求输出相应的成绩等级A-D,其中,85分以上为“A”,75-84为“B”,60-74为“C”,0
-60为“D”。3.1.3 选择嵌套案例分析m=float(input("请输入书的价格:"))if m>0: n=m0
.9 if m>=200: n=m0.8 if m>=500:
n=m0.7 print("优惠后的价格为:%.2f"%n)4月23日是世界读
书日,方舟书店有优惠活动,200元(不包括200元)以内九折,200~500元(不包括500元)八折,500元及以上七折。请你编写
程序实现书店优惠打折的功能,当输入书价后,计算出应付给书店的价格。3.2.1 for循环本课知识点for循环可以实现次数确定的循
环,语句的关键字为for,循环时,会用计数器来计算循环的次数。for语句与range()函数搭配,其中n是循环的起始值,m是循环的
终值,i为步长,如果没有指定步长,则默认为1,循环的执行流程如图所示。判断循环起始值是否小于终值(不包括等于),如果为真则执行循环
中的语句块,同时修改循环变量,再重新回到上面去判断条件是否成立;如果为假,就跳出循环,执行后面的语句。3.2.1 for循环本课
知识点Python语言使用for保留字来组成for循环语句,其最简单的语法形式如下:3.2.1 for循环本课知识点range()
函数range() 函数一般用在 for 循环中,函数的语法为range(start, stop[, step]),其中的参数说明
如下:start:计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5)。stop:计数到
stop 结束,但不包括 stop。例如:range(0, 5)是[0, 1, 2, 3, 4]没有5。step:步长,默认为1
。例如:range(0,5)等价于 range(0, 5, 1)。本课知识点在for语句中使用序列3.2.1 for循环本案例中f
or语句是与range()函数配合使用,其实是由range()函数产生一个序列,循环时依次执行,如果不用range()函数,可以直
接使用序列,语法规范为:“for 变量 in (序列):”,具体使用如图所示。案例分析3.2.1 for循环s=0for i in
range(1,101): s=s+iprint("1+2+……+99+100=",s) 相信你一定听说过
《高斯求和》故事,高斯上小学时,有一天,老师给他们班的同学出了一道数学题:1+2+3+4+5+……+100=?同学们都立即拿出纸和
笔,认真地算起来,而高斯没有马上算,而是仔细思考后写出了一个算式(1+100)×50=5050。对于这种重复计算的问题,编写程序也
能快速算出结果,你会使用循环结构编写程序,计算1加到100的和吗?3.2.2 While循环本课知识点while循环会根据条件不
断执行循环体中的语句块,直到条件不符合为止。与for循环相比,while循环可以不知道循环的次数,程序在执行时,先对条件进行判断,
如果满足条件就执行循环体中的语句块,如果不满足就跳出循环。while语句的执行过程如图所示。如果条件成立,则执行语句块;如果不成立
则跳出循环;while语句执行完成后,继续执行循环后面的语句。3.2.2 While循环本课知识点Python语言用while来
实现根据情况判断进行循环,其语法形式如下:本课知识点while语句使用3.2.2 While循环使用while语句编程通常会遇到
两种情况,一种是循环次数事先确定的问题;一种是循环次数事先不确定的问题。while语句是一个条件循环语句,即首先计算表达式,根据表
达式值的真、假来决定是否继续循环。while语句的语法与if语句类似,要使用缩进来标注满足条件,需执行的语句。while语句的条件
表达式不需要用括号括起来,但表达式后面必须有冒号。本课知识点无限循环3.2.2 While循环使用while循环时,如果条件设置
不当,会形成无限循环,除非强行中断程序,才会停止。如图3.26左侧所示,i的初值是1,在循环中没有改变i的值,所以while后面的
条件表达式一直成立,程序执行时是无限循环,不会停止。如果出现这种情况,可以按Ctrl+C键来停止程序的执行。要解决这个问题,可以在
语句中添加终止循环的条件,如图右侧所示,在语句s=s+i下加上语句i=i+1。案例分析3.2.2 While循环s=0i=1n=
100while s<10000: s=s+n if s<10000: i=i+1 n=n
+100print("10000元钱,你需要存:",i,"个月")方轻舟准备用兼职做平面设计赚的钱,买一台配置较好的笔记本电脑,这
台电脑价格1万元。他打算第1个月存款100元,以后每个月比前一月多100元,请编程计算他几个月后可以购买心仪的笔记本电脑? 3.2
.3 循环嵌套本课知识点for循环语句的执行过程,如图所示。外部循环执行1次,内部循环要执行一遍。3.2.3 循环嵌套本课知识
点所谓循环嵌套,就是循环中还有循环,如果是嵌套for循环,则表示for循环中嵌套for循环,格式如下:本课知识点输出数据后不换行3
.2.3 循环嵌套在Python中,使用print()函数,可以输出各种类型的数据,也可以对输出的数据进行格式设置,例如输完后换
行还是不换行等。如图所示,如果输出数据后不换行,在结束处添加end= " ",其中双引号中的空格数可用来控制输出的每个数据间的距离
。本课知识点while循环嵌套3.2.3 循环嵌套案例中介绍的是for循环的嵌套,while循环也可以嵌套使用,格式如图所示。甚
至for循环与while循环中也可以在嵌套中混合使用。案例分析 在使用QQ、微信聊天时,会看到用符号组成的各种表情,如(@-@)、
→^←等,惹人喜欢。使用Python中的函数print(),也可输出各种符号组成的表情或者图案。你能编写程序,当输入5,即输出由符
号“”组成的5×5的矩形图案吗?3.2.3 循环嵌套for i in range(1,6): for j in ran
ge(1,6): print("",end=" ") print()3.3.1 break语句本课
知识点break语句可用在循环结构中,遇到该语句,即跳出循环,执行循环语句后面的语句。break可以用在for循环中,也可以用在w
hile循环中。break语句一般与if语句结合使用,用if语句判断是否满足跳出循环的条件,如果满足,则使用break跳出循环,流
程如图所示。3.3.1 break语句本课知识点Python语言中,可以使用break语句来跳出循环,其语法形式如下所示:本课知
识点中断语句break的执行方式3.3.1 break语句在Python语言中,如果遇到break命令,直接跳出循环,执行循环语
句后面的语句。如图所示,while语句的条件表达式永远成立,是无限循环,此时循环体中要有退出循环的条件,不然会出现“死循环”。程序
中i的初值是0,每执行一次循环,i增加2,输出变量的值分别是2、4、6、8,当i超过8时,满足条件,执行语句“break”跳出循环
。 本课知识点for循环中使用break语句3.3.1 break语句在Python中,for循环中可以使用break语句,作
用是遇到这个语句时,跳出循环结构,执行循环后面的语句。如图所示,循环从1开始到10,执行循环,当i等于1、2、3时,不满足条件,不
换行输出变量i,不执行break语句,当i=4时,满足条件,退出循环。案例分析3.3.1 break语句s=0i=0.0001j
=0while s<=8848: i=i2 s=i j=j+1print("需要折:",j,"次") 不要
小看小小的沙粒,聚沙也能成塔!同样,一张薄薄的纸,如果足够大,不断对折也能超过珠穆朗玛峰的高度(假设一张纸的厚度是0.0001米,
珠穆朗玛峰的高度是8848米),你能编写程序,计算这张大大的“纸”,要折多少次才能超过珠穆朗玛峰的高度吗?3.3.2 conti
nue语句本课知识点程序在执行时,如果遇到continue语句,则跳出本次循环,然后判断循环条件是否成立,再决定是否开始下一次的循
环。continue语句出现在循环语句中,可以与if语句进行组合,根据条件判断是否结束本次循环,如果符合条件,执行continue
语句后,回到循环开始处,判断是否执行循环,算法如图所示。3.3.2 continue语句本课知识点Python语言使用conti
nue语句来实现跳出本次循环,其语法形式如下:本课知识点for循环中使用continue语句3.3.2 continue语句在P
ython中,可以在while循环中使用continue语句,在for循环中也可以使用continue语句,格式如图所示。本课知识
点continue语句和break语句的区别3.3.2 continue语句 在for循环与while循环中,均可以使用con
tinue和break语句。它们区别是:break语句结束整个循环,然后执行循环语句后面的语句,不再判断执行循环的条件是否成立;而
continue语句只结束本次循环,需要上去再次判断循环条件是否成立,决定循环是否执行。案例分析3.3.2 continue语句
n = 0while n < 1000: n = n + 1 if n % 2 != 0: contin
ue print(n)数字是个奇妙的大家族,可以根据不同的特点,进行不同的划分,形成不同的数字集合。如正数、负数,奇数、偶数
,实数、自然数,有理数、无理数等等,根据条件就可以找出符合条件的数,你能编写程序,输出1-1000之间所有的偶数吗?3.3.3
else语句本课知识点在Python中,循环中用到条件表达式,对循环的条件进行判断,根据不同的情况执行不同的语句。在循环中可以与e
lse语句搭配使用,当条件不满足时,执行else后的语句。在Python中,while与else语句搭配使用。如图所示,while
条件语句满足的情况下执行语句块1,不满足执行else后的语句块2。3.3.3 else语句本课知识点在Python中,一般考虑符
合条件时执行循环,不符合情况时不执行。如果在循环中配以else语句,也可以考虑不符合条件时的情况,具体方法是,判断循环语句的条件表
达式,如果成立则执行语句块1,如果不成立,则执行else后面的语句块2,格式如下:本课知识点for循环与else语句配合3.3.3
else语句与while循环一样,for 循环中也可使用 else语句。如图所示,当 for 循环从1开始到10,执行完for
循环后,会执行 else后的语句块,因此程序的执行结果为:2 4 6 8 10, 循环结束。本课知识点随机模块3.3.3 el
se语句Python标准库中的random()函数,可以生成随机浮点数、整数、字符串,甚至帮助我们随机选择列表序列中的一个元素,打乱一组数据等,让程序设计更有趣。与math()函数一样,先要导入库,再引用函数。例如图所示代码,可以随机生成1-20(包括1和20)的随机数。案例分析3.3.3 else语句i=0while i<3: import random a=random.randint(0,10) b=random.randint(0,10) print(a,''+'',b,''='') c=int(input(''请输入答案:'')) d=a+b if d==c: print(''回答正确'') else: print(''回答错误,正确的是:'',d) i=i+1else: print(''答题完成!'') 使用纸质的加法练习测试本,计算完毕还需要对答案、改题,而计算机上的“加法测试”程序,不但可以随机出题,还可以自动改题。你能编写程序,实现这样的功能吗?THANKS FOR WATCHING
献花(0)
+1
(本文系籽油荃面首藏)