课时 07 控制结构 课件(共29张PPT)2027届浙江选考信息技术总复习

资源下载
  1. 二一教育资源

课时 07 控制结构 课件(共29张PPT)2027届浙江选考信息技术总复习

资源简介

(共29张PPT)
课时07 控制结构
一、顺序结构
1. 顺序结构是通过    语句来实现的,并严格按照语句的先后顺序来执行。
2.注释语句。
(1)注释语句主要用于对程序代码进行说明,便于程序的理解和维护,在程序运行时不执行。
(2)在Python中,注释分为单行注释和多行注释,其中单行注释采用
“    ”开头,其后面的内容为注释;多行注释使用成对的三个单引号(''')或成对的三个双引号("""),引号中间为注释内容。
赋值
#
1.语句块缩进。
(1)在Python中,行尾冒号的作用是告诉Python接下来要创建一个新的语句块。因此,只要某一行以    结尾,它下方的语句就应该有缩进。
(2)在Python中,语句块是一行或放在一起多行的语句,一般通过    来标识。Python中有一个惯例:总是将语句块缩进4个空格。
(3)同一个if语句中,if、else下方的语句块必须采用相同的缩进。语句块可以写成一行(用分号隔开),也可以与冒号处于同一行。
冒号
行缩进
二、分支结构
格式 理解
if <条件>: <语句块1> else: <语句块2> 条件是一个表达式,它的值可以是真(True)或假(False)。当条件为    时,执行语句块1中的语句,否则(条件为假)执行语句块2中的语句
2.if语句。
(1)if语句的一般格式。
(2)if语句的简化格式。
真
格式 理解
if <条件>: <语句块> 如果程序只需要对条件为真的情况做出处理,那么if语句可省略else及其语句块2部分
3.if-elif语句。
(1)在Python中,对多个条件进行判定,可用带有elif子句的 if语句来实现,其格式为:
if <条件1>:
<语句块1>
elif <条件2>:
<语句块2>
……
elif <条件N>:
<语句块N>
else:
<语句块N+1>
(2)一个if语句可以包含多个elif子句,最后一个else子句是可选的。
(3)elif子句仅当其if语句中的条件为    时才执行。
(4)如果if语句和elif子句中的条件都不为真时,末尾的else子句的语句块就会被执行。
(5)带有elif子句的if语句有一个很重要的特性:只要某个条件为真,计算机就会执行其所对应的语句块,然后就退出该语句。
假
4.嵌套if语句。
(1)将一个if语句放在另一个if语句中就形成了一个嵌套if语句,其格式为:
if <条件1>:
<语句块1>
if <条件2>:
<语句块2>
else:
<语句块3>
else:
<语句块4>
if <条件3>:
<语句块5>
else:
<语句块6>
(2)相同层次的代码必须采用相同的    ,否则会造成逻辑错误。
缩进
1.for语句。
(1)在Python中,for语句的格式为:
for <变量> in <序列>:
<循环体>
[else:
<语句块>]
(2)for语句通过遍历    中的元素实现循环,并通过序列的元素数量来控制循环次数,即循环过程中,序列中的每个元素都会被依次赋值给变量,然后执行一次循环体。
(3)for语句遍历的序列可以是列表、字符串,若遍历的序列中元素为有序整数,可用内建函数    来实现。
序列
range
三、循环结构
(4)range函数由三个参数(起始值、终值、步长值)来决定序列中元素的个数和范围。若起始值缺省,则默认值为    。步长值是序列中的每个元素之间的差,若缺省,则默认值为    。
(5)for循环结束后,程序继续执行else子句中的语句块(该else子句可选)。
(6)当for循环序列没有遍历完时,可以使用    语句实现中途退出循环,转而去执行for语句后面的语句(即使有else子句,该子句也不会被执行)。
(7)continue语句用于结束本次循环,继续下一次循环。
0
1
break
2.while语句。
(1)当并不知道循环执行的次数时,可以使用while循环。其常见格式如下:
while <条件>:
<循环体>
(2)while循环在执行时,首先会判断条件是否为真,如果条件为真,执行一次循环体,再次判断条件是否为真,如果仍为真,那么再执行一次循环体,以此类推,直到条件为    时退出while语句。
(3)当while循环在条件仍然为真时,可以用break语句实现中途退出循环。
假
3.循环嵌套。
(1)在循环结构中,允许在一个循环体里面嵌入另一个循环,这种结构称为循环嵌套。其循环总次数等于内外层次数之积。其格式为:
for(while) <条件1>:
for(while) <条件2>:
<循环体2>
<循环体1>
(2)循环嵌套先执行外循环,外循环每执行一次,    都需要进行一个完整的循环。
内循环
典例 1 有如下Python程序段:
a=int(input())
b=str(a**2)
a=len(b)
print(a)
执行该程序段后,输入10,输出的结果是 (  )
A.2
B.10
C.3
D.100
C
√
题型导向一 顺序结构
胜券点拨1
明考向 本题主要考查的顺序结构
审关键 顺序结构语句的执行特点
考场思 维快闪 顺序结构语句是按照从上到下的先后顺序执行的,输入10后,a的值为10,b的值为"100",然后把b的长度赋值给a,故最终a的值为3
典例 2 有如下Python程序段,当输入相同的hc值时,输出的结果可能与另外三项不同的是 (  )
A.d="安全区域" B.d="安全区域"
if hc>0.08: if hc>0.1:
d="轻度污染" d="高度污染"
elif hc>0.1: elif hc>0.08:
d="高度污染" d="轻度污染"
C.if hc<=0.08: D.if hc<=0.08:
d="安全区域" d="安全区域"
if hc>0.08: elif hc<=0.1:
d="轻度污染" d="轻度污染"
if hc>0.1: else:
d="高度污染" d="高度污染"
A
√
题型导向二 分支结构
胜券点拨2
明考向 本题主要考查分支结构
审关键 各个分支语句的执行条件
考场思 维快闪 选项A,当hc≤0.08时,d为"安全区域",当hc>0.08时,d为"轻度污染";选项B、C、D,当hc≤0.08时,d为"安全区域",当0.080.1时,d为"高度污染"。当hc=0.2时,选项A执行if语句,d为"轻度污染";而选项B、C、D中,d为"高度污染"
典例 3 [2025湖州联考]有如下Python程序段:
s="红橙黄绿青蓝紫"
x=2
while len(s)>1:
x=(x+3)%len(s)
s=s[:x]+s[x+1:]
print(s)
执行该程序段后,输出的结果是 (  )
A.红 B.橙
C.绿 D.蓝
C
√
题型导向三 循环结构
胜券点拨3
明考向 本题主要考查循环结构的实现
审关键 while循环、字符串切片
考场思 维快闪 while循环每次从字符串s中删除一个字符,直到只剩下一个字符。初始s="红橙黄绿青蓝紫",第一轮,x=(2+3)%7=5,s="红橙黄绿青紫";第二轮,x=(5+3)%6=2,s="红橙绿青紫";第三轮,x=(2+3)%5=0,s="橙绿青紫";第四轮,x=(0+3)%4=3,s="橙绿青";第五轮,x=(3+3)%3=0,s="绿青";第六轮,x=(0+3)%2=1,s="绿"
典例 4 [2024.7浙江]某Python程序如下:
s=input()
k=0;n=0
for x in s:
if "a"<=x and x<="g":
k=(ord(x)-ord("a")+5)%7+1
elif "1"<=x and x<="5":
n=int(x)
keynum=n*7+k
print(keynum)
程序运行时,若输出为28,则可能的输入是(  )
A.y9Ac4 B.b3a4A C.a4kb3 D.ha9k3
C
√
胜券点拨4
明考向 本题主要考查循环结构和分支结构的嵌套实现
审关键 for循环和if语句的嵌套使用
考场思 维快闪 循环体内只处理a~g、1~5范围内的字符,且k和n的值只和最后满足条件的字符有关,若输出的结果是28,则最后出现的数字字符一定小于4,排除选项A、B。选项C、D最后出现的数字字符都是"3",那么最后出现字符"b"才满足条件
典例 5 [2024.6浙江选考]某同学根据如图所示流程图编写的Python程序段如下:
n=int(input())
if n<=20:
z=0
if n<=50:
z=1
else:
z=2
用下列输入数据测试程序段与流程图,两者得到的 z 值不同的是 (  )
A.60 B.50 C.30 D.10
D
√
题型导向四 流程图与控制结构
胜券点拨5
明考向 本题主要考查流程图和代码段的差异
审关键 算法控制结构的执行特点
考场思 维快闪 流程图中是一个分支结构里嵌套了另一个分支结构,而程序段中是两个独立的分支语句。当n≤20时,程序段中的变量z被二次赋值,最终的结果是1,而流程图中变量z只被赋值一次,最终的结果是0。当输入小于等于20的数据测试程序段与流程图时,两者得到的z值不同
1.range函数生成有序整数序列,范围为[起始值,终值的前一位]。
2.print()函数输出。
(1)输出时用加号“+”连接,两者中间没有空格,如“print("1"+"2")”的输出结果为“12”。
(2)输出时用逗号“,”连接,两者中间会有一个空格,如“print("1","2")”的输出结果为“1 2”。
函数实例 range(1,5,1) range(1,5) range(5) range(1,5,2) range(5,1,-2)
生成序列 1 2 3 4 1 2 3 4 0 1 2 3 4 1 3 5 3
通法 常用语句思辨
3.辨析break语句与continue语句。
(1)break语句与continue语句都只能用于循环之中,不可单独使用。
(2)在嵌套循环中,两者只会对最近的一层循环起作用(就近原则)。
(3)break语句结束整个循环,转而执行循环结构后面的语句;continue语句结束本次循环,继续下一次循环。
代码实例 画线处填入break时,输出 画线处填入continue时,输出
for i in range(1,7): for j in range(1,7): if i+j!=6:        1 print(i,j) 5 1 1 5
2 4
3 3
4 2
5 1
1.有如下Python程序段:
a=input()
b=input()
c=len(a+b)
print(c)
执行该程序段后,输入72和65,输出c的值是 (  )
A.3 B.4 C.137 D.7265
input()输入的数据是字符串类型,a+b的值是"7265",len()表示获取字符串的长度,故输出c的值是4。
B 
√
一、顺序结构
2.[2025杭州联考]用Python算法控制结构描述“有2门及以上的科目优秀,且不能有科目不及格,才可以参与评奖,否则无奖项”。设k为优秀科目的数量,f为不及格科目的数量,下列选项不正确的是 (  )
当优秀科目数为1且不及格科目数为0时,程序应判断无奖项。选项C,当f=0,k<2时,变量s未被赋值,此时程序会报变量s未被定义的错。
A.s="无奖项"
if f==0 and k>=2:
s="可参评"
B.if f==0 and k>=2:
s="可参评"
else:
s="无奖项"
C.if f==0:
if k>=2:
s="可参评"
else:
s="无奖项" D.if f!=0:
s="无奖项"
elif k>=2:
s="可参评"
else:
s="无奖项"
C 
√
二、分支结构
3.有如下Python程序段:
a=[2,3,5,8,13,1]
b=0
for i in range(len(a)-1,0,-2):
if a[i]==a[i-1]+a[i-2]:
b=b+1
print(b)
执行该程序段后,输出的结果是 (  )
A.1 B.2 C.3 D.4
当i=5时,不满足a[i]==a[i-1]+a[i-2],此时不执行b=b+1;当i=3时,满足a[i]==a[i-1]+a[i-2],此时执行b=b+1,b为1;当i=1时,满足a[i]==a[i-1]+a[i-2],此时执行b=b+1,b为2,循环结束。
B 
√
三、循环结构
4.有如下Python程序段:
a=int(input())
s="0123456789ABCDEF"
b=""
while a!=0:
c=a%16
a=a//16
b=s[c]+b
print(b)
执行该程序段后,输入a的值为29,输出的结果是 (  )
A.13 B.1C C.1D D.C1
该程序段的功能是将输入的十进制整数转换为十六进制字符串。十进制数29的十六进制数为1D。
C 
√
5.浙江居民家用充电桩电价为每千瓦时0.558元。开通峰谷电后,峰时段(8:00~22:00)电价为每千瓦时0.588元,谷时段(22:00~次日8:00)电价为每千瓦时0.308元。计算电费的流程图如图所示,则下列Python程序中,能实现虚线框部分功能的是(  )
选项A、B,当t>=8且t<22时,d应为0.588,与流程图不符。选项C,当d=0.308时,t应不包含8,与流程图不符。
A.if t>=8 and t<22:
d=0.308
else:
d=0.588 B.if 8<=t<22:
d=0.308
else:
d=0.588
C.if t>22 or t<=8:
d=0.308
d=0.588 D.d=0.308
if 8<=t<22:
d=0.588
D 
√
四、流程图与控制结构
6.某社区举行拔河项目比赛并取前八名成绩,其中个人项目第一名到第八名分别加9分、7分、6分、5分、4分、3分、2分、1分;团体项目得分是个人项目的2倍。小李编写如下Python程序,实现输入“个人”或“团体”,输入名次,输出对应得分的功能。
xm=input("请输入个人或团体:")
mc=int(input("请输入你的名次(正整数):"))
list_df=[9,7,6,5,4,3,2,1] #存储个人项目得分
if mc>8:
df=0
elif xm=="个人":
df=list_df[mc-1]
       .
df=list_df[mc-1]*2
print("你的得分为:",df,"分")
若将下列四个选项中的语句填入上述代码段的画线处,不能实现设计功能的是 (  )
A.elif mc>8 and xm!="个人": B.else:
C.elif mc<=8 and xm=="团体": D.elif xm=="团体":
画线处应不满足mc>8,且不满足第二分支,即不是“个人”,相当于mc<=8且类型是团体,因此选项A不符合条件。
A 
√
7.编写如下Python程序,输出某次考试成绩的评价(满分为100):
a=int(input("输入考试成绩:"))
if a>100:
b="输入错误"
elif a>=80:
b="优秀"
elif a>=60:
b="及格"
else:
b="不及格"
print(b)
若要测试所有分支程序代码是否正确,下列按顺序输入的测试数据中,最恰当的一组是 (  )
A.120 80 50 40 B.100 90 60 50
C.101 87 61 60 D.103 85 66 45
该程序段有4个分支,需要4个测试数据,各个分支的取值必须在范围(100,+∞)、[80,100]、[60,80)、[0,60)之间。
D 
√
8.[2026浙江六校联考]有如下Python程序段:
a=input("")
b=input("")
result,i="",0
while iif a[i]==b[i%len(b)]:
result="0"+result
else:
result="1"+result
i+=1
print(result)
运行该程序段后,若输入的数据依次为1110011和110,则输出的结果是 (  )
A.0111100 B.0010011 C.0011110 D.1000011
该程序段依次比较字符串a和字符串b中对应位置的字符,若相等,则在字符串result开头添加字符"0",否则在字符串result开头添加字符"1",字符串b中的元素是循环使用的。若输入的数据依次为1110011和110,则输出的结果是0111100。
A 
√
9.[2025宁波九校联考]海边适宜游玩温度一般在20~30℃之间(包括20℃和30℃)。设t为当前室外温度,对游客的温度提醒存储在变量tip中,下列程序段不正确的是 (  )
选项C中,当温度大于30℃时,符合第一个if条件,tip被赋值为"温度过高",之后又符合第二个if条件,tip更新为"温度适宜",不符合要求。
A.if t>30:
tip="温度过高"
elif t<20:
tip="温度过低"
else:
tip="温度适宜" B.tip="温度过低"
if t>=20:
tip="温度适宜"
if t>30:
tip="温度过高"
C.tip="温度过低"
if t>30:
tip="温度过高"
if t>=20:
tip="温度适宜" D.tip="温度适宜"
if t>30:
tip="温度过高"
elif t<20:
tip="温度过低"
C 
√
该程序段不断获取用户输入的整数,直到输入为"#"为止,输出输入的整数和。在每次循环中,先将输入的字符串转换为整数,即y=int(x)。其次将输入的数累加到总和s中,即s+=y。再记录输入的个数,即i+=1,根据输出语句可知,i记录输入的个数。最后获取下一个输入,即x=input("请输入整数:")。
10.有如下Python程序段,其输出的结果如图所示。
s=0
i=0
x=input("请输入整数:")
while x!="#":
      
print("\n输入个数为:",i)
print("输入数和为:",s)
方框处有如下可选代码:
①s+=y ②x=input("请输入整数:")
③i+=1 ④y=int(x)
方框中的代码顺序正确的是 (  )
A.②④①③ B.④②①③
C.①②③④ D.③②④①
B 
√
11.[2025浙江9+1联盟]下列程序段中,与如图所示的流程图的功能不一致的是 (  )
流程图实现将[x,10)范围内的偶数累加到s中。选项D,当遇到奇数时,s递减i,当遇到偶数时,s累加i,和流程图描述不一致。
A.s=0
x=int(input())
if x%2!=0:
x+=1
while x<10:
s+=x
x+=2
print(s) B.s=0
x=int(input())
while x<10:
if x%2==0:
s+=x
x+=1
x+=1
print(s)
C.s=0
x=int(input())
for i in range(9,x-1,-1):
if i%2==0:
s+=i
print(s) D.x=int(input())
s=x
for i in range(x,10,2):
if i%2!=0:
s-=i
else:
s+=i
print(s)
D 
√

展开更多......

收起↑

资源预览