内容正文:
情景二 控制程序的结构
主题
流程控制
序号
2
课时
2
教学手段
多媒体、板书、实训室
教学方法
讲授法、演示法、案例法
教学课型
□理论 □实训 √一体化 □( 其它 )
教学目标
能力目标:能够根据实际需求熟练使用分支和循环语句完成程序编写。
知识目标:理解顺序结构程序设计、代码的缩进的层次结构和、四种分支语句和循环语句。
素质目标:接受新知识、自主学习的能力 。
教学重点
分支和循环语句
教学难点
分支和循环语句的嵌套
教学过程设计
备注
一、复习上一节上课内容并引出本节上课内容
在编写程序过程中,如果需要根据用户的输入,灵活的调整哪些语句执行,哪些语句不执行又该怎么办呢?此时分支语句就非常重要了;
然而有些问题仅仅通过分支条件语句还不能解决;有时为解决一个问题常常需要重复执行一个或多个操作,这该怎么办呢?这时就需要使用循环语句了。
二、教学内容
1、分支结构程序设计
(1)单分支语句
if 表达式:
语句块
当表达式的值为True或者其它等价值时(非空非零),表示条件满足,则语句块将被执行,否则该语句块不被执行。表达式后用英文的冒号(:)结束,回车换行Python会自动缩进四个空格。 接下来我们看一下实例,从键盘输入成绩,如果成绩大于等于60分则显示及格。
score = float(input("请输入成绩:"))
if score >=60:
print("及格")
单分支语句,只有一个if,当条件满足时,只能得到一个结果;如果想根据输入成绩的不同,返回不同的结果,我们就要使用双分支语句了。
(2)双分支语句
if 表达式:
语句块A
else:
语句块B
当表达式的值为True或者其它等价值时(非空非零),执行语句块A,否则执行语句块B。也就是说:双分支语句执行时,只会选择一个分支执行。
拓展单分支语句的功能,如果输入成绩大于等于60分则显示及格,否则显示不及格。
score = float(input("请输入成绩:"))
if score >=60:
print("及格")
else:
print("不及格")
如果有两个以上的条件,我们就要使用多分支语句了。
(3)多分支语句
语句格式
if 表达式A:
语句块A
elif 表达式B:
语句块B
elif 表达式C:
语句块C
……
else:
语句块N
语句执行说明
首先计算表达式A,如果其值为True或者非空非零,则执行语句块A;
否则计算表达式B,如果其值为True或者非空非零,则执行语句块B;
否则计算表达式C,如果其值为True或者或者非空非零,则执行语句块C;以此类推,如果所有表达式计算的结果都为False(空值/0),则执行else后的语句块N。
使用多分支语句将不同分数段分别对应五个不同的等级。如果输入成绩是90分及以上为优秀,80-89分为良好,70-79为中,60-69及格,60分以下为不及格。拓展单分支语句的功能,如果输入成绩大于等于60分则显示及格,否则显示不及格。
score =float(input("请输入成绩: "))
if score >=90:
print("优秀")
elif score >=80:
print("良好")
elif score >=70:
print("中")
elif score >=60:
print("及格")
else:
print("不及格")
(4)分支嵌套语句
嵌套就是一种包含关系,当外层的分支条件成立的情况下,再执行内层的分支条件,分支语句嵌套的格式如下图所示。
首先计算表达式A,如果其值为True或者非空非零,则计算表达式B,如果其值为True或者非空非零,则执行语句块B,否则执行语句块C;如果表达式A计算的结果都为False(空值/0),则执行语句块D。
使用分支嵌套语句来实现分数是90分及以上的,则显示优秀;如果大于等于60分,显示为合格;小于60分则显示不合格。
score = float(input("请输入成绩:"))
if score>=60:
if score>=90:
print("优秀")
else:
print("及格")
else:
print("不及格")
2、循环结构程序设计
(1)while循环语句的格式
while 表达式:
语句块
while循环语句可以解决程序中需要重复执行的操作,其循环执行的次数由循环条件决定,当循环条件满足时,重复执行某程序段,直到循环条件不成立为止。反复执行的程序段称为循环体,循环条件必须要在循环体中改变,否则可能会出现无限循环的结果。Python是区分大小写的,所以我们在写while的时候,注意都是小写字母,否则会出现语法错误。
while循环语句首先计算表达式的值,如果表达式的值为True(非空/非0),则执行语句块,执行完后,再一次计算表达式的值,如果表达式的值仍然为True(非空/非0),则继续执行语句块;如果表达式的值为False(空/0),则结束while循环语句,语句执行流程如下图所示。
实践案例1:任意输入一个正整数,求出1到该数的和,参考代码如下。
#求1+2+……+n的和
n=int(input("请输入求和的终止值:"))
#初始化
count=1
sum=0
#while循环求和并计数
while count <= n:
sum= sum + count
count = count + 1
#输出结果
print("1+2+……+%d=%d"%(n,sum))
举一反三:while循环语句打印九九乘法表。
(2)for循环语句
for <取值> in <序列或迭代对象>:
语句块A
else :
语句块B
for循环语句执行步骤:
①从序列或迭代对象中依次取一个值;
②执行语句块A;
③不断重复①和②,直到序列或迭代对象全部取完。如果有else部分,则执行else语句块B,执行完毕,结束for循环,执行for之后的语句;如果没有else部分,则结束for循环,执行其后的语句。
for循环中的range( )函数
参数说明: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)
如果有两个以上的条件,我们就要使用多分支语句了。
实践案例2:for循环语句打印星号矩阵图,参考代码如下。
# for循环语句打印星号矩阵图
for i in range(1,5):
for j in range(1,6):
print('*',end='\t')
print()
以上代码的运行结果是输出一个四行五列的星号矩阵图。
* * * * *
* * * * *
* * * * *
* * * * *
举一反三:for循环语句打印九九乘法表
三、总结
通过本次任务的学习和实践,使我们熟悉了四种分支语句、两种循环语句的使用格式和注意事项,并且能够熟练地使用流程控制语句来完成相应功能的开发。
在通常情况下,分支语句只会执行其中的一个分支,当表达式的值为真时,执行该分支语句块,并且该语句块后的代码不再执行,跳出多分支语句,执行多分支语句后面的代码。而循环语句要特别注意,循环条件要能使循环最后结束,否则程序会一直运行下去,进入无限循环。当然,无限循环在日常生活中也是有需要的,比如坚强体育锻炼,让我们在享受体育乐趣的同时增强体质、锤炼意志,从而养成终身运动、终身学习的好习惯。
作业布置
for循环语句打印九九乘法表
教学反思
学科网(北京)股份有限公司
$$