内容正文:
第8课 顺序结构 分支结构(见学生用书P36)
——3.2 Python语言程序设计,教材第79~85页
1.掌握Python常见的内建函数。 2.能够设计顺序结构的程序实现。 3.能够设计分支结构的程序实现。
1.Python常见内建函数
(1)输入输出函数
函数
功能
应用举例
输出结果
input([提示字符串])
键盘__输入数据__
name=input
('你的名字是: ')
—
print(输出值1,
输出值2,……)
程序运行结果输出
print('sum=',sum)
(其中sum=10)
__sum=10__
(2)数据类型转换函数
注意:int()函数将实型数据转换成整型数据时,直接__截取数据的整数部分__;将字符串型数据转换成整型数据时,只能针对__整数字符串__。
(3)常用数学函数
函数
功能
应用举例
返回值
应用举例
返回值
abs( )
返回__绝对值__
abs(-4)
__4__
abs(6)
__6__
round(x[,n])
返回浮点数x的四舍五入值(四舍六入,__五留双__)x表示数值表达式,n表示小数点位数
round(3.5)
__4__
round(2.5)
__2__
round(2.345,1)
__2.3__
round(3.78,1)
__3.8__
(4)内码字符转换函数
函数
功能
应用举例
返回值
chr( )
将ASCII值转换成__字符__
chr(65)
__'A'__
chr(50)
__'2'__
ord( )
将字符转换成__ASCII值__
ord('A')
__65__
ord('2')
__50__
(5)数据结构相关函数
函数
功能
应用举例
返回值
len( )
返回对象(字符串,列表,字典)的长度,即__元素个数__
len('AaBbCc')
__6__
len([1,3,4,2,6])
__5__
len({'语文':108,'数学':110})
__2__
max( )
返回序列的__最大值__
max([1,3,4,2,6])
__6__
max(['one','two','three','four'])
__'two'__
max('AaBbCc')
__'c'__
min( )
返回序列的__最小值__
min([1,3,4,2,6])
__1__
min(['one','two','three','four'])
__'four'__
min('AaBbCc')
__'A'__
2.顺序结构
(1)算法中各个步骤按照先后顺序依次执行的结构。
(2)交换两个变量的值的方法
序列赋值:a,b=b,a
数学法:a=a+b;b=a-b;a=a-b
第三方交换:t=a;a=b;b=t
3.分支结构
先进行条件判断,再根据判断结果分别执行不同处理的控制结构。算法进行程序实现时,分支结构可以用if语句来实现。
分支结构的算法实现
1.单分支结构
流程图走向:当表达式为真时,执行语句块;否则什么都不执行
if <条件表达式>:
<语句块>
流程图走向:当score>60时,输出“合格”;否则什么都不执行
score=float(input())
if score>60:
print('合格')
2.双分支结构
流程图走向:当表达式为真时,执行语句块1;否则(表达式为假),执行语句块2
if <条件表达式>:
<语句块1>
else:
<语句块2>
流程图走向:当x>0时,给变量y赋x的值;否则给变量y赋-x的值
x=float(input())
if x>0:
y=x
else:
y=-x
3.多分支结构
流程图走向:当<表达式1>的值为True时,执行<语句块1>, 整个if语句结束。若为假,则判断<表达式2>,以此类推。直到找到一个为真的条件时,才执行相应的语句块,整个if语句结束
if<条件表达式1>:
<语句块1>
elif<条件表达式2>:
<语句块2>
…
elif<条件表达式n>:
<语句块n>
else:
<语句块n+1>
(1)一个if语句可以包含多个elif子句,最后一个else子句是可选的。
(2)Python语句中的缩进:语句块缩进4个空格。
下列Python 表达式的值为98 的是( B )
A.abs(-99)+1 B.ord(”b”)
C.len(”97”)+1 D.chr(98)
【解析】 选项A表达式的值为100;选项C表达式的值为3;选项D表达式的值为”98”。选项B正确。
变式1 下列Python 表达式的值为数值5 的是( A )
A.int(max(”5”,”11”,”100”)) B.len([1,2,3,5])
C.str(5) D.abs(float(-5))
【解析】 选项B表达式的值为4;选项C表达式的值为”5”;选项D表达式的值为5.0,选项A正确。
变式2 下列逻辑表达式中,值为True 的是( D )
A.int(-5.6)==len(”Python”) B. ”Python”[5:7]==”on”
C.6+int(”-3”)<=len(”-3”) D.1750//100%10==7
【解析】 选项A,-5==6,值为False;选项B:”n”==”on”,值为False;选项C,3<=2, 值为False;选项D的值为True,选项正确。
变式3 2024·玉环中学检测已知变量s=”2023abc2”,下列Python 表达式中,值最小的是( B )
A.int(s[2:4]+”6”)//8 B.len(s) * 3
C.round(float(s[:3])/6,1) D.ord(min(s[3::-1]))
【解析】 选项A的值是236//8=29;选项B的值是8*3=24;选项C的值是round(202/6,1)=33.7;选项D的值是ord(min(”3202”))=ord(”0”)=48。故选项B的值最小。
有如下Python程序段:
n,m=9,3
n,m=m,n
a=m-3%2
b=n//2+6**n
print(a,b)
执行该程序段后,输出的结果是( B )
A.2 10077700 B.8 217 C.8 19 D.2 217
【解析】 n,m=9,3
n,m=m,n 执行后 n=3;m=9
a=m-3%2 执行后a=9-1=8
b=n//2+6**n 执行后b=1+6**3=1+216=217
选项B正确。
变式 有如下Python 程序段:
a=”1357”
list1=[”car”,”bus”,”bike”]
list1[1]=a[1:3]
print(list1)
执行该程序段后,输出的结果是( B )
A.[”car”,”bus”,”bike”] B.[”car”,”35”,”bike”]
C.[”car”,35,”bike”] D.[”car”,”3”,”5”,”bike”]
【解析】 list1[1]=a[1:3]语句执行后,list1=[”car”, ”35”,”bike”],选项B正确。
2024·书生中学检测有如下Python程序段:
a=[5,2,8,14,3,11]
sum=a[1]+a[3]-a[5]
v=sum%2
if v==1:
print(1-v)
else:
print(-1)
执行该程序段后,输出的结果是( B )
A.1 B.0 C.报错 D.1
【解析】 sum=a[1]+a[3]-a[5]=2+14-11=5,v=sum%2=1,条件v==1成立,执行print(1-v),选项B正确。
变式1 现有Python程序段如下,想要测试所有分支程序代码是否正确,下列数据中最恰当的一组是( B )
x=int(input('请输入整数x: '))
if x>10:
y=x**2
elif x>0:
y=10*x
else:
y=0
print(y)
A.0,10 B.11,2,-1 C.-2,2,6 D.12,100,-100
【解析】 三分支结构,分为大于10、大于0且小于或等于10、小于或等于0三种情况。选项B的三个数据分别对应三个分支的条件,符合测试要求。
变式2 有如下Python程序段:
x=int(input(”请输入整数: ”))
if x>0:
x=x//10
elif x>5:
x=x+1
else:
x=x**0.5
x%=6
print(x)
若输入x的值为20,则执行该程序段后,输出的结果是( A )
A.2 B.3 C.4 D.5
【解析】 x=20,条件x>0成立,执行x=x // 10=2,分支结构结束,接着执行语句x%=6,x=2,选项A正确。
变式3 2024·衢州一中检测有如下Python 程序段:
x=25;y=20
if x>y:
y+=20
if y>50:
y=y**2
else:
y=y**2
y=x+y
print(y)
执行该程序段后,输出的结果是( D )
A.1600 B.425 C.400 D.40
【解析】 条件x>y成立,执行if下面的语句块,y=40,条件y>50不成立,程序结束,选项D正确。
用Python算法控制结构描述“您所在街道25分钟后小雨,50分钟后雨停”,设t为距离天气预报发布时间的间隔(单位:分钟),下列选项正确的是( A )
A.if t>50:
print(”雨停”)
elif t>25:
print(”小雨”) B.if t>50:
print(”雨停”)
else:
print(”小雨”) C.if t>25 and t<=50:
print(”小雨”)
else:
print(”雨停”) D.if t>25:
print(”小雨”)
elif t>50:
print(”雨停”)
【解析】 选项A,该算法描述为:距离天气预报发布时间t>50时,雨停;距离天气预报发布时间25<t≤50时,小雨,与自然语言描述算法相符。
变式1 最近,小蓝所在学校进行了体检,并获得了全校学生的身高和体重信息。小蓝利用该信息计算全校学生的身体质量指数BMI。公式为BMI=体重/身高2,其中身高的单位为m,体重的单位为kg。若BMI值小于18,则偏瘦;若BMI值在18到24之间,则正常;若BMI值大于24,则偏胖。已知某同学的BMI 值存储在变量X 中,小蓝编写程序判断该同学的身体状况信息,并保存到变量Y中,则下列程序段无法实现该功能的是( A )
A.Y=”偏瘦”
if X>=18:
Y=”正常”
elif X>24:
Y=”偏胖”
B.Y=”偏胖”
if X<18:
Y=”偏瘦”
elif X<=24:
Y=”正常”
C.if X>24:
Y=”偏胖”
elif X>=18:
Y=”正常”
else:
Y=”偏瘦” D.if 18<=X<=24:
Y=”正常”
else:
Y=”偏瘦”
if X>18:
Y=”偏胖”
【解析】 选项A,只要变量X 的值大于或等于18,输出结果均为“偏胖”,与题干要求不符。
变式2 2024·萧山中学检测某款耳机有入耳检测功能,把耳机塞入耳朵后,即可自动连接手机或者电脑,从耳朵上取出耳机就自动断开连接。该功能的实现是在耳机中植入了3个传感器: 正面光线距离感应器、背面光线距离感应器、运动加速度感应器,当检测到运动加速度感应器(用A表示)为True且正面光线距离感应器(用B表示)和背面光线距离感应器(用C表示)均为False时,说明耳机已放入耳中。用Python算法控制结构描述耳机入耳,下列选项正确的是( B )
A.if A:
if not B or not C:
print(”已入耳”)
else:
print(”未入耳”) B.if A:
if not B and not C:
print(”已入耳”)
else:
print(”未入耳”)
C.if A or not B and not C:
print(”已入耳”)
else:
print(”未入耳”)
D.if A:
if B and C:
print(”已入耳”)
else:
print(”未入耳”)
【解析】 选项A, A先为True, 然后B为False或者C为False,表示入耳,否则表示未入耳,选项错误;选项C,A为True或者B、C均为False,则表示入耳,选项错误;选项D,“B and C” 表示光线距离感应均为True,则表示入耳,选项错误。
|随|堂|检|测|
1.下列Python表达式中, 值为True的是( A )
A.round(-4.6)<int(-4.4) B.'100'>'28'
C.'Pt' in 'Python' D.16%5>24//8
【解析】 round(-4.6)=-5(四舍六入五留双),int(-4.4)=-4,表达式的值为True,选项A正确。
2.下列Python表达式中, 结果与其他三项不同的是( D )
A.int(5.8//2) B.len([”apple”,[”山东”,9.8]])
C.abs(ord(”A”)-ord(”a”))//16 D.max([7,6,5,4,3])%3
【解析】 选项A,值为2;选项B,值为2;选项C,abs(ord(”A”)-ord(”a”))=32,则值为2;选项D,值为1。故选项D符合题意。
3.有如下Python 程序段:
s=input(”请输入字符串: ”)
if len(s)<=5:
t=s
else:
t=s[0:4]
print(t)
若输入“中国China”,则执行该程序段后,输出的结果是( C )
A.中国 B.中国C C.中国Ch D.中国China
【解析】 len(”中国China”)=7,if语句不成立,执行else的语句块,t=s[0:4]=“中国Ch”。选项C 正确。
4.有如下Python 程序段:
x=20;y=24
if not x<y:
y+=x
if y>50:
y*=2
else:
if y//x>2:
y=x+y
print(y)
执行该程序段后,输出的结果为( D )
A.88 B.64 C.44 D.24
【解析】 条件not x<y不成立,y不变,条件y>50不成立,执行else下面的语句块;y=24,条件y//x>2 不成立,程序结束,选项D正确。
5.2024·柯桥中学检测用Python算法控制结构描述“行驶速度若低于20 km/h,被定义为拥堵路段,若高于或等于20 km/h且低于或等于40 km/h则为行驶缓慢,40 km/h 以上为道路畅通”,下列选项不正确的是( C )
A.if v<20:
print(”拥堵路段”)
elif v<=40:
print(”行驶缓慢”)
else:
print(”道路畅通”)
B.if v>40:
print(”道路畅通”)
elif v>=20:
print(”行驶缓慢”)
else:
print(”拥堵路段”)
C.if v>40:
print(”道路畅通”)
elif v<40:
print(”行驶缓慢”)
else:
print(”拥堵路段”)
D.if v>=20:
if v<=40:
print(”行驶缓慢”)
else:
print(”道路畅通”)
else:
print(”拥堵路段”)
【解析】 选项C,v>40时, 输出“道路畅通”,v<40时,输出“行驶缓慢”,v=40时,输出“拥堵路段”,不符合题意,选项错误。
6.2023·浙江1月选考[多选]菜园里的蔬菜适宜生长的空气温度范围是tmin~tmax。现要求当温度t 正常、偏低、偏高时,将sta的值分别设为0、1、2。下列Python 程序段中符合要求的有( BD )
A.if t<tmin:
sta=1
if t>tmax:
sta=2
else:
sta=0
B.if t<tmin:
sta=1
elif t>tmax:
sta=2
else:
sta=0
C.sta=0
if t<tmin:
sta=1
else:
sta=2
D.sta=0
if t<tmin:
sta=1
if t>tmax:
sta=2
【解析】 选项A,逻辑错误,当t 值小于tmin时,最后的返回值为sta=0,与题干要求不符;选项C,温度t 值判断后,最后返回值是sta=1 或sta=2,当温度t 正常时,不会返回sta=0,与题干要求不符。选项B、D正确。
温馨提示:请完成高效作业8 )
学科网(北京)股份有限公司
$$