内容正文:
2.2 做出判断的分支
学校:___________姓名:___________班级:___________考号:___________
一、选择题
1.对于下列Python语句
if b==2:
s=s*2
else:
s=s/2
下列说法正确的是( )
A.b==2为赋值语句 B.s=s*2和s=s/2均为赋值语句
C.s=s*2和s=s/2均为关系表达式 D.s=s*2为关系表达式,s=s/2为赋值语句
2.现有如下python程序段:
for i in range( 6 ):
p.append( int( random() * 10 ) + 1 )
for i in range( 2, 6 ):
if i % 2 == 1 and p[ i ] % 2 == 0:
p[ i ] += p[ i - 1]
elif i % 2 == 0 and p[ i ] % 2 == 1:
p[ i ] -= p[ i - 1]
执行该程序段后,在下列选项中,列表p中的元素值不可能的是()
A.1, 2, 3, 4, 7, 2
B.1, 2, 14, -9, -5, 8
C.6, 8, 1, 4, 6, 10
D.6, 4, 14, -7, 3, 8
3.有如下Python程序段( )
a=[]
for i in range(100):
if i%10==0:
a.append(i)
则程序执行后,a[1]和a[-1]的值分别是
A.0和100 B.10和100 C.0和90 D.10和90
4.有如下对分查找程序段
#列表a存放整数升序数据,代码略
key=int(input())
f=[0]*9
i=0
j=8
while i<=j:
m=(i+j)//2
f[m]=1
if a[m]>key:
j=m-1
else:
i=m+1
print(f)
输入待查找数据,执行该程序段后,下列选项中,列表f的值不可能的是( )
A.[0, 0, 0, 0, 1, 1, 1, 0, 0] B.[1, 1, 0, 0, 1, 0, 0, 0, 0]
C.[0, 1, 0, 0, 1, 0, 1, 0, 0] D.[0, 0, 0, 0, 1, 0, 1, 1, 0]
5.有如下Python程序段:
执行该程序段,输入“541-*6+”后,输出的是( )
A.-9 B.6 C.21 D.23
6.有如下 Python 程序段:
s="我爱 13aPP14LE!"
ans=res=""
for x in s:
if "a"<=x<= "z ":
ans=ans+chr(ord(x)-32)
if "A "<=x<= "Z ":
ans=ans+chr(ord(x)+32)
if "0 "<=x<= "9 ":
res=res+x
t=ans+res
print(t)
A.我爱 13aPP14LE B.Apple1314 C.我爱 Apple1314 D.aPPLE1314
7.有如下Python程序段:
def js(s):
c=0
for i in range(len(s)):
if"0"<=s[i]<="9"
c+=1
return c
s=input()
c=js(s) #调用函数
if c==len(s):
print("yes")
else:
print("no")
执行该程序段后,输出结果为“yes”,则变量s的值是( )
A.2024xxjs B.Actionism C.20240623 D.SHA-1
8.有如下Python程序段:
def trans(m,n):
if m!=0 or n!=0:
r=(m%2+n%2)%2
return trans(m//2,n//2)+str(r)
else:
return "0"
a=int(input("a="));b=int(input("b="))
print(trans(a,b))
执行该程序段,依次输入10和7,则输出的结果是( )
A.10110 B.01011 C.01101 D.11010
9.为了学生的身体健康,现在很多的学校都会在教室中安装新风系统,它兼备了新风、净化、换气等多重功能,能够循环置换室内外空气,净化掉室外空气中PM2.5,PM10等污染物后再引入室内,再把室内污浊的,氧气不充足的空气排出室外,显著减少PM2.5、TVOC、病菌和二氧化碳,让室内24小时都保持空气清新。用Python算法控制结构描述:根据PM2.5检测网的空气质量新标准,PM2.5大于75,小于等于115称为轻度污染,大于115称为中度以上污染,设M为PM2.5值,下列选项正确的是( )
A.
if M>115:
print("中度以上污染")
elif M>75:
print("轻度污染")
B.
if M>115:
print("中度以上污染")
else:
print("轻度污染")
C.
if M>75 and M<=115:
print("轻度污染")
else:
print("中度以上污染")
D.
if M>75:
print("轻度污染")
elif M>115:
print("中度以上污染")
A.A B.B C.C D.D
10.执行该程序段后,输出的结果为 4,则应输入的内容为( )
n=int(input("请输入一个正整数"))
d={}
c=0
m=0
while n>0:
x=n % 10
if x not in d:
d[x]=1
else:
d[x]=d[x]+1
if d[x]==1:
c=c+1
n=n // 10
print(c)
A.135798 B.232458 C.20220320 D.24686482
11.某加密算法程序段如下所示:
def jiami(x):
if "A"<=x<="Z":
y=chr(ord(x)+32)
elif "0"<=x<="9":
y=str((int(x)+1)%10)
else:
y=x
return y
mingwen=input("请输入明文")
miwen=""
for x in mingwen:
miwen=miwen+jiami(x)
print("密文为:",miwen)
输入“Abc@789”并运行程序,输出结果是( )
A.abc8910 B.abc@890 C.ABC678 D.aBC@789
12.有如下Python程序段:
a={'<':0, '()':1, '[': 2, '{':3, '>': 4, ') ':5, '] ':6, '} ':7}
s1=input()
s=[8,0,0,0,0,0,0,0,0]
top=0; flag=True
for x in s1:
k=a[x]
if k<4:
if s[top]!=k:
flag=False
break
top+=1
s[top] =k
else:
if s[top]!=k-4:
flag=False
break
top-=1
if flag and top==0:
print ("YES")
else:
print ("NO")
若输出结果为“NO”,则s1输入的值是( )
A.{} []() <> B.[()]{<>} C.{[<()>]} D.{()[<>]}
13.有如下程序:
s="Happy New Year!"
m=____________________
if m=="Happy":
print("Happy to you!")
elif m=="Year":
print("Good Luck!")
else:
print("It's a fine Day!")
若想运行结果是"Good Luck!",则划线处代码可能是( )
A.s[9:13] B.s[10:13] C.s[-5:-2] D.s[-5:-1]
14.某智能终端接上温度传感器,在 BXY 输入如下图所示代码,温度传感器和主板的连接正 常,下载并运行该代码,下列描述正确的是( )
A.若某次检测到温度为25 时,主板LED阵列会显示“笑脸”图案并持续2秒钟
B.若某次检测到温度为10 时,主板LED阵列一直显示“哭脸”图案
C.每隔2000秒通过传感器读取环境温度值,并向串口输出
D.无法确定该智能终端与电脑通信的端口号
15.有如下 Python 程序段:
a=[5,3,8,9,7,3,11]
n=len(a)- 1
cnt=0
for i in range(1,n):
if a[i]==a[i+1]-a[i-1]:
cnt+=1
elif a[i]>a[i+1]-a[i-1]:
cnt+=2
else:
cnt+=3
print(cnt)
执行该程序段后,变量 cnt 的值为( )
A.9 B.10 C.11 D.12
16.有如下 python 程序段,运行该段代码后, 程序的输出结果为( )
s = "python"
def f(t):
if t == 0:
return s[0]
return s[t] + f(t - 1)
print(f(len(s)-1))
A.python B.nohtyp C.pytho D.nohty
17.有如下Python 程序段:
n=int(input( ))
s=0;i=1
while i*i<=n:
if i==n//i:
s+=1
elif n%i==0:
s+=2
i+=1
print(s)
若输入"16",该程序段执行后,输出的结果是( )
A.3 B.4 C.5 D.6
18.如下Python程序段:
s=list("bcaabca")
n=len(s)
for i in range(1,n):
for j in range(n-1,i-1,-1):
if s[j]=='a' and s[j-1]!='a':
s[j],s[j-1]=s[j-1],s[j]
print(s)
执行该程序段后,输出的内容为( )
A.['b', 'c', 'b', 'c', 'a', 'a', 'a'] B.['b', 'b', 'c', 'c', 'a', 'a', 'a']
C.['a', 'a', 'a', 'b', 'c', 'b', 'c'] D.['a', 'a', 'a', 'b', 'b', 'c', 'c']
19.有如下Python程序段:
执行该程序段后,在下列选项中列表a中各元素值可能的是( )
A.[8,0,0,3,1,6] B.[0,0,5,8,1,3]
C.[1,4,0,0,6,7] D.[8,0,0,8,1,9]
20.小明家开了一个自助火锅店,按装食材盘子的颜色来区分单价,收费标准为白盘5元、绿盘8元、黄盘15元、紫盘21元、红盘30元,用餐人数少于4人则额外收取底料费用40元。小明编写了以下程序来计算费用:
1
def cost(num,white,green,yellow,purple,red):
2
diliao=0
3
if num<4:
4
diliao=40
5
return diliao+white*5+green*8+yellow*15+purple*21+red*30
6
7
print(cost(5,2,2,3,2,2))
该程序的运行结果为( )
A.173 B.213 C.175 D.215
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.B
【详解】本题主要考查If选择结构。b==2为关系表达式,s=s*2 和 s=s/2 均为赋值语句,因此B选项正确。
2.BD
【详解】本题主要考查Python程序执行。第一个for循环生成列表p,值是[1,10]之间随机整数,第二个for循环处理后4个元素,当i是奇数且生成的p[i]是偶数,则将前一个值累加到p[i],若i是偶数且生成的p[i]是奇数,则p[i]减去前一个值,分析选项B、D第三个元素14,此时i=2,如果p[2]原来生成的是奇数,则需要执行 p[ i ] -= p[ i - 1],否则不变,即p[2]不会大于10,故执行该程序段后,列表p中的元素值不可能是1, 2, 14, -9, -5, 8或6,4, 14, -7, 3, 8,故本题选BD选项。
3.D
【详解】本题主要考查Python程序的执行与调试。分析程序可知,变量i的范围是0~99,当i能整除10时,将其添加到列表a中,故a=[0, 10, 20, 30, 40, 50, 60, 70, 80, 90],a[1]=10,a[-1]=90(索引为-1即截取列表a最右端的元素),故本题选D选项。
4.C
【详解】本题主要考查对分查找算法。变量m是依次查找的下标索引值,第一次循环,m=4,f[4]=1,根据二叉树查找规则,往后查找只会在m=4的左边或右边进行查找,不会出现选项C中f[1]和f[6]同时为1的情况,故本题选C选项。
5.C
【详解】本题考查的知识点是Python程序设计综合应用。根据给定输入的字符串“541-*6+”,变量i的值为0,1,2时,执行if语句,得到st[0]=5,st[1]=4,st[2]=1,top=2。i=3时,取到“-”号,执行st[top-1]-st[top],即st[1]-st[2]=4-1=3,并且将结果3赋值给st[top-1],即st[1]=3,top=1;i=4时,取到“*”号,执行st[top-1]*st[top],即st[1]*st[0]=3*5=15,并且将结果15赋值给st[top-1],即st[0]=15,top=0;i=5时,取到“6”,执行top+=1,此时top=1,所以st[1]=6;i=6时,取到“+”号,执行st[top-1]+st[top],即st[0]+st[1]=15+6=21,并且将结果21赋值给st[top-1],即st[0]=21,执行top-=1后,top=0;i=7时,退出循环。最后打印输出st[top],即输出st[0],此时st[0]=21。故答案为C选项。
6.B
【详解】本题主要考查Python程序的执行。分析程序可知,如果取到的是小写字母,将其转化为大写字母,如果取到的是大写字母,将其转化为小写字母,逐一添加到字符串ans中;如果取到的是数字,则将其保存到变量res中,取到其他字符跳过。每次循环都执行t=ans+res,故字符串s="我爱 13aPP14LE!" 最终转变成Apple1314,故本题选B选项。
7.C
【详解】本题考查的是自定义函数。自定义函数js是统计字符串s中的数字个数,如果数字个数与字符串的长度相等(即全为数字),则输出“yes”,结合选项可知,只有C选项符合。故选C。
8.C
【详解】本题主要考查Python程序的执行。依次输入10和7,即m=10,n=7,trans(10,7)=trans(5,3)+"1"=trans(2,1)+"01"=trans(1,0)+"101"=trans(0,0)+"1101"="01101",故本题选C选项。
9.A
【详解】本题考查Python分支结构。A选项正确,首先判断PM2.5是否大于115,如果是,则输出"中度以上污染";如果不是,则判断是否大于75,如果是,则输出"轻度污染"。B选项错误,这个选项只考虑了PM2.5大于115的情况,对于大于75小于等于115的情况没有进行区分,因此不符合题意。C选项错误,这个选项没有考虑到PM2.5小于等于75的情况。D选项错误,当M大于75时,则不能再判断是否大于115。故答案为:A。
10.D
【详解】本题主要考查Python程序的执行与调试。分析程序可知,该程序实现统计输入的正整数n中不相同数字的个数。执行该程序段后,输出的结果为 4,则应输入的内容为24686482,故本题选D选项。
11.B
【详解】本题主要考查Python程序的执行。分析程序可知,该程序实现对输入的明文进行加密操作,加密规则如下:大写字母变成对应的小写字母,数字循环后移一位,其他字符不变,故输入“Abc@789”并运行程序,输出结果是abc@890,故本题选B选项。
12.ABCD
【详解】本题主要考查Python程序的执行与调试。若输出结果为“NO”,说明flag=False或top!=0,分析程序可知,选项ABCD,第一遍循环均满足k<4,且满足s[top]!=k,赋值flag=False,且退出循环,因此输出结果均是NO,故本题选ABCD选项。
13.D
【详解】本题主要考查Python程序字符串切片操作。切片操作基本表达式:object[start_index:end_index:step],step:正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。start_index:表示起始索引(包含该索引对应值),该参数省略时,表示从对象“端点”开始取值。end_index:表示终止索引(不包含该索引对应值),该参数省略时,表示一直取到数据“端点”。运行结果是"Good Luck!",说明m="Year",s="Happy New Year!",s[-5:-1]="Year",故本题选D选项。
14.D
【详解】本题主要考查Python程序的执行与调试。分析程序可知,若某次检测到温度为25 时,主板LED阵列会显示“笑脸”图案,2秒钟后会再次读取温度;若某次检测到温度为10 时,主板LED阵列会显示“哭脸”图案,但不会一直显示;每隔2秒通过传感器读取环境温度值,并向串口输出;无法确定该智能终端与电脑通信的端口号,故本题选D选项。
15.B
【详解】本题主要考查Python程序的执行。
当i=1时,a[i]=3,满足a[i]==a[i+1]-a[i-1],cnt=cnt+1=1;
当i=2时,a[i]=8,满足a[i]>a[i+1]-a[i-1],cnt=cnt+2=3;
当i=3时,a[i]=9,满足a[i]>a[i+1]-a[i-1],cnt=cnt+2=5;
当i=4时,a[i]=7,满足a[i]>a[i+1]-a[i-1],cnt=cnt+2=7;
当i=5时,a[i]=3,满足a[i]<a[i+1]-a[i-1],cnt=cnt+3=10,循环结束。因此执行该程序段后,变量 cnt 的值为10,故本题选B选项。
16.B
【详解】本题主要考查Python程序的执行。s = "python",len(s)=6,f(len(s)-1)=f(5)=s[5]+s[4]+s[3]+s[2]+s[1]+s[0]="nohtyp",故本题选B选项。
17.C
【详解】本题主要考查Python程序的执行。n=16,s=0,i=1
第一次循环,满足i*i<=n,满足n%i==0,s=s+2=2,i=i+1=2;
第二次循环,满足i*i<=n,满足n%i==0,s=s+2=4,i=i+1=3;
第三次循环,满足i*i<=n,不满足if判断条件,i=i+1=4;
第四次循环,满足i*i<=n,满足i==n//i,s=s+1=5,i=i+1=5,循环结束,输出的结果是5,故本题选C选项。
18.C
【详解】本题考查Python程序的执行与调试。分析程序,每轮循环从后往前依次比较,当s[j]='a'且s[j-1]!='a'时,则交换s[j]与s[j-1]。第一轮循环后s=['a', 'b', 'c', 'a', 'a', 'b', 'c'] ,第二轮循环后s=['a', 'a', 'b', 'c', 'a', 'b', 'c'],第三轮循环后s=['a', 'a', 'a', 'b', 'c', 'b', 'c'],此后不再满足if判断条件,即不再交换,s不再发生变化。因此执行该程序段后,输出的内容为['a', 'a', 'a', 'b', 'c', 'b', 'c']。故选C。
19.D
【详解】本题主要考查Python程序的执行与调试。random.randint(a,b)用于生成一个指定范围内的整数。其中参数a是下限,参数b是上限,生成的随机数n: a <= n <= b。根据语句k%5==0,后执行的语句是i=i﹣1,即重新本次循环,k的值不可能为5或者10,即对应的a中元素不可能有5或者10,排除选项B。如果满足k%3==0,即k是3、6、9,则执行a[n-1]=k,n递减1,i递增1 ,即a中的元素3、6、9一定在列表的右边,排除选项A、C,故本题选D选项。
20.A
【详解】本题主要考查Python程序的执行。分析程序可知,cost(5,2,2,3,2,2)=0+2*5+2*8+3*15+2*21+2*30=173,故本题选A选项。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$