内容正文:
2.2 做出判断的分支
学校:___________姓名:___________班级:___________考号:___________
一、选择题
1.以下程序段实现的功能是删除字符串s中第i位上的字符,代码如下:
s = input("请输入字符串:")
i = int(input("请输入待删除字符是第几位:"))
n = len(s)
if i < 1 or i > n:
result = "输入错误"
elif i == 1:
result = s[1:]
elif i < n:
elif i == n:
result = s[:-1]
print(s,"删除第",i,"位后的结果是",result)
则程序中划线处应填入的语句是( )
A.result = s[1:i-1] + s[i:] B.result = s[:i-1] + s[i:]
C.result = s[:i-1] + s[i+1:] D.result = s[:i] + s[i+1:]
2.某张单据上有一个5位数的编号n,如图所示,其百位数和十位数模糊不清,但是知道 这个5位数是23的倍数。现要设计一个算法,找出所有满足这些条件的5位数,并统计个数。
现有Python程序段如下:
c=0
for i in range(10):
for j in range(10):
m=25006+s
if m%23==0:
print(m)
c=c+1
print(“满足这些条件的5位数总共有:”,c,“个” )
画线处应填的代码是( )
A.s=i*10+j B.s=i*100+j C.s=i+j*10 D.s=(i*10+j)*10
3.下列程序的输出结果是( )
for x in"Python":
if x=="h";
break
else:
print(x,end="")
A.Python B.Pyton C.Pyth D.Pyt
4.下面Python代码运行后,a、b的值为( )
a=23
b=int(a/10)
a=(a-b*10)*10
b=a+b
print(a,b)
A.23 2 B.30 20 C.30 32 D.3 2
5.某Python程序段的功能是:输入一个十进制数,将其转换成十六进制数并输出。
n=int(input("请输入一个十进制数:"))
t=0
c=""
while n!=0:
t=n%16
n=①
if t<10:
c=str(t)+c
else:
c=②
print("转换后的十六进制数为"+c+"H")
代码中①、②处的语句分别是( )
A.①n//16 ②chr(ord("A")+t-10) B.①n//16 ②ord(chr("A")+t-10)
C.①n/16 ②chr(ord("A")+t-10) D.①n/16 ②ord(chr("A")+t-10)
6.如图所示的代码,当输入23时,输出结果为( )
A.这不是数字 B.小了 C.很好 D.差不多
7.如图所示代码,当输入23时,输出结果为:( )
s= int( input("请输入:") )
if s<5:
print("小了")
elif s<15:
print("还是有点小了")
elif s<25:
print("差不多")
else:
print("很好")
A.小了 B.很好 C.差不多 D.还是有点小了
8.以下Python程序的输出结果是( )
x=4
x+=2
if x>6:
x=x+1
x=x+2
print(x)
A.9 B.8 C.7 D.6
9.有如下Python程序段:
s="22py4th18"
sum=t=0
for i in range(len(s)):
if"0"<=s[i]<="9":
t=t*10+int(s[i])
else:
sum+=t
t=0
print(sum)
执行该程序段后,变量sum的值为( )
A.22 B.26 C.40 D.44
10.选择结构程序应用的分支语句是( )
A.if B.for C.while D.fenzhi
11.阅读下面的Python程序,要使程序的输出结果是True,则在画线处应填入( )
a=5
b=8
if :
print("True")
else:
print("False")
A.a>b B.a<b C.a==b D.a=b
12.小东学习了Python程序设计后,编写了计算话费充值优惠的程序如下所示。用户输入充值金额,程序会计算并输出优惠后需要支付的金额。当用户输入充值金额53时,输出结果是( )
1 cz=float(input("请输入充值金额(元):"))
2 if cz<=38:
3 zf=cz
4 elif cz<=50:
5 zf=cz-3
6 elif cz<=100:
6 zf=cz-6
7 else:
8 zf=cz*0.9
9 print(zf)
A.47.0 B.50.0 C.55.0 D.53.0
13.选择结构程序应用的分支语句是( )
A.if B.for C.while D.print
14.有如下程序段:
a,b=4,3
if a>=4:
if b<2:
a=a+2
if b>2:
a=a+3
a=a+2
elif a>=9:
a=a+4
else:
a=a+b
运行该程序段后变量 a 的值为( )
A.9 B.13 C.16 D.8
15.已排序的列表a有n个整型元素,现要查找出现次数最多的值并输出。若出现次数最多的值有多个,则输出最前面的一个。实现该功能的程序段如下,方框中应填入的正确代码为( )
c,m,v=1,1,0
for i inrange(1,n):
print(a[v])
A. B. C. D.
16.超市进行促销活动,若单笔消费满200元打九折,单笔消费满300打八折(单笔消费仅享受一次打折优惠)。设顾客单笔消费s元,下列python程序能正确描述超市活动的是( )
A. B. C. D.
17.在 BXY 中输入代码如下,说法正确的是( )
from microbit import *
import music
while True:
t=temperature()
if t<37.1:
display.show (Image.HAPPY)
elif t<40:
music.play (music.BADDY)
else:
display.show (Image.SAD)
sleep(3000)
A.显示难过的表情,则温度传感器读取的温度可能是 40 B.每 30 秒读取一次温度
C.如果读取的温度是 35.5,会显示开心的表情, 并播放音乐 D.microbit 板自带温湿度传感器
18.提取字符串中的数字并存放到列表中,程序中划线处的代码为()
s="12,345,67"
a=[]
t=0
n=0
for i in range(len(s)):
if s[i]==",":
t=int(s[n:i])
a.append(t)
①
if i==len(s)-1:
t=int( ② )
a.append(t)
print(a)
A.①n=i ②s[n:i+1] B.①n=i+1 ②s[n:i]
C.①n=i+1 ②s[n:i+1] D.①n=i ②s[n:i]
19.下面的程序,若想运行结果是Best Wishes to you!,则划线处代码可能是( )
s="Happy National Day!"
m=____________________
if m=="Happy":
print("Happy to you!")
elif m=="National":
print("Best Wishes to you!")
else:
print("It's a fine Day!")
A.s[6:13] B.s[7:14]
C.s[-6:-14:-1] D.s[-13:-5:1]
20.在使用if语句时需要注意,在if(条件表达式)后面要加英文符号( )
A.: B., C.. D.;
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.B
【详解】本题主要考查Python分支结构。字符串的索引是从0开始,删除i处的字符即删除字符串索引i-1处的字符。划线处是删除中间位置的字符,即将i-1处之前的字符与i处及之后的字符拼接起来存到变量result中,故此处填result = s[:i-1] + s[i:],故本题选B选项。
2.D
【详解】本题主要考查Python程序的调试。分析程序,其百位数和十位数模糊不清,变量m是25006加上该模糊的三位数,该三位数即对应的模糊2位数乘以10,变量i控制高位,变量j控制低位,故划线处应填的代码是s=(i*10+j)*10,故本题选D选项。
3.D
【详解】本题主要考查Python程序的执行。变量x依次取字符串“Python”中的字符,如果x的值是“h”时,则循环结束,否则输出x。该程序实现输出字符串“Python”字符串中字符“h”前的子串,故程序的输出结果是Pyt,故本题选D选项。
4.C
【详解】本题主要考查Python程序执行。a=23,b=int(a/10)=2,a=(a-b*10)*10=30,b=a+b=32,故代码运行后,a、b的值为30、32,故本题选C选项。
5.A
【详解】本题主要考查Python程序的综合应用。十进制数转换为十六进制数的方法是:除权取余、逆序排列。①处更新n的值,即n=n//16。②处当t大于10,转换为字母A~F,即c=chr(ord("A")+t-10),故本题选A选项。
6.D
【详解】本题主要考查Python程序的执行。当输入23时,满足S<25,输出结果为“差不多”,故本题选D选项。
7.C
【详解】本题主要考查Python多分支结构的应用。s=23,满足第三个分支判断条件s<25,输出结果为:差不多,故本题选C选项。
8.B
【详解】本题主要考查Python程序执行。x=4,x+=2=6,不满足if判断条件,执行x=x+2=8,输出x值为8,故本题选B选项。
9.B
【详解】本题主要考查Python程序的执行。分析程序可知,当s[i]是数字时,则执行t=t*10+int(s[i]),其他字符执行sum+t,t=0;最后一组数字后没有字符,所以t=18不会累加到sum中,此时sum=22+4=26,故本题选B选项。
10.A
【详解】本题主要考查Python分支结构。选择结构程序应用的分支语句是if,循环结构应用的循环语句是for和while,故本题选A选项。
11.B
【详解】本题考查的是Python的选择语句。if条件满足时,执行 print("True"),a=5,b=8,故画线处应填入:a<b。故本题应选B。
12.A
【详解】本题考查的是Python多分支语句。输入充值金额53时,不满足 cz<=38,不满足cz<=50,满足cz<=100,执行zf=cz-6=53-6=47。故本题应选A。
13.A
【详解】本题程序设计语言相关内容。选择结构程序应用的分支语句是if,故本题应选A。
14.A
【详解】本题考查Python程序。初始条件是:a=4,b=3。第一个条件是 a >= 4,这是满足的,所以进入第一个条件分支。在第一个条件分支中,有两个嵌套的条件:if b < 2 不成立,因为b=3,所以不执行这个条件下的语句。if b > 2 成立,因为b=3,所以执行 a=a+3,a变成7。最后,执行 a=a+2,a变成9。所以,最终程序运行后,变量a的值为9。故答案为A选项。
15.A
【详解】本题考查Python选择结构应用。由于列表a为有序列表,因此计算每个数的出现次数,可以通过检查相邻两个数进行统计。阅读程序段和选项中的代码可知:变量v为次数最多的值在列表a中的索引,变量c为当前数值的出现次数,变量m已统计次数中的最大值。其算法思想是:若相邻两个数相等,则计数器c加1,否则应该将c变为初值1,首先可以排除选项B,因为该选项中else分支不符合逻辑。选项CD都存在缺陷,例如最多的一组相同的数出现在列表的最后时,均不能准确统计结果。例如a=[2,3,3,3,4,4,4,4,4],此时输出值为3,而A结构合理,可以完成各种情况的统计任务,故选A。
16.C
【详解】本题主要考查Python分支结构的应用。选项A会出现单笔消费低于200时也会打九折的情况;选项B当s>=300时,也满足第二个if判断条件;选项C符合题意;选项D当s>=300时,会执行if语句,而不会执行elif语句,故本题选C选项。
17.A
【详解】本题主要考查Python程序的综合应用。分析程序,显示难过的表情,则温度传感器读取的温度可能是 40 ;每 3 秒读取一次温度;如果读取的温度是 35.5,会显示开心的表情, 但不会播放音乐;microbit 板不自带温湿度传感器,故本题选A选项。
18.C
【详解】本题主要考查Python程序的综合应用。切片操作基本表达式:object[start_index:end_index:step],step:正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。start_index:表示起始索引(包含该索引对应值),该参数省略时,表示从对象“端点”开始取值。end_index:表示终止索引(不包含该索引对应值),该参数省略时,表示一直取到数据“端点”。取列表中一部分数据元素时,可以通过分割的两个索引参数实现。包含第一索引参数指向的元素,不包含第二个索引参数指向的元素。因此①处n=i+1,表示","字符的下一个字符。②处填写s[n:i+1],其中索引i+1表示字符串中的最后一个字符,故本题选C选项。
19.D
【详解】本题主要考查Python字符切片操作。切片操作基本表达式:object[start_index:end_index:step],step:正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。start_index:表示起始索引(包含该索引对应值),该参数省略时,表示从对象“端点”开始取值。end_index:表示终止索引(不包含该索引对应值),该参数省略时,表示一直取到数据“端点”。运行结果是Best Wishes to you!,则可知变量m="National",s[6:13]="Nationa",s[7:14]="ational",s[-6:-14:-1]="lanoitaN",s[-13:-5:1]="National",故本题选D选项。
20.A
【详解】本题考查Python分支结构的描述。在使用if语句时需要注意,在if(条件表达式)后面要加英文符号:(冒号),故选A。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$