内容正文:
2.2 做出判断的分支2024-2025学年高中信息技术教科版(2019)必修1
一、选择题
1.有如下Python程序段:
m=3
1st=[7,3,4,3,1,6,3]
for i in range(len(lst) -1):
for j in range(len(lst) -1,i,-1):
if 1st[j] <1st[j-1]:
1st[j], 1st[j-1] = 1st[j-1], 1st[j]
break
执行该程序段,加框处语句被执行的次数是( )
A.3 B.4 C.5 D.6
2.下列选项中属于字符串常量的是( )
A.1457 B.a*b C.“890” D.A,b
3.已知k为整数(k>9),能表示“若k十位上的数字是偶数则flag为True,否则为False”的是( )
A. B. C. D.
4.有如下python程序段:
import random
list1=[60]
for i in range(9):
r=list1[-1]+random.randint(0,i)
if r not in list1:
list1.append(r)
该程序段运行后,list1的值可能是( )
A.[60,61,64,69,71] B.[60,63,65,66,66,75]
C.[60,62,67,68,69,75,79] D.[60,61,63,66,70,72,78,80,81,85]
5.有如下 Python 程序段
a = 4;b = 3
if b > 2:
a += 3
if a >= 4:
a += 2
elif a >= 9:
a += 4
else:
a += b
运行该程序段后变量 a 的值为( )
A.8 B.9 C.13 D.16
6.在 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 板自带温湿度传感器
7.某加密程序的代码如下:
sl=input("请输入明文:")
q="1357902468";S2=""
for ch in sl:
if"0"<=ch<="9":
s2+=q[int(ch)]
elif"a"<=ch<="z":
s2+=chr((ord(ch)-ord("a")+2)%26+ord("a"))
else:
s2+=ch
print(s2)
运行该程序,输入s1的值为"Mike521@qq.com",则输出结果为( )
A.Mgic053@oo.amk B.Kgic931@oo.amk C.Mkmg053@ss.eqo D.Okmg931@ss.eqo
8.如下Python程序段实现对数组元素a[0]到a[9]从小到大排序。
i=0
while i<9:
k=i;i=9
for j in range(9,k,-1):
if a[j] < a[j-1]:
a[j],a[j-1]=a[j-1],a[j]
①
print(a)
则代码中①处的语句可为( )
A.i = j B.i = j + 1 C.i = i + 1 D.i = k - 1
9.用二分法求解 x3- x2 + x - 1 = 0,完善下面程序。
def f(x):
#定义方程
return x**3-x**2+x-1
a=float(input("请输入解区间的左边界:"))
b=float(input("请输入解区间的右边界:"))
while abs(b-a)>1e-6:
x0=(a+b)/2
if ( ① ):
b=x0
if ( ② ):
a=x0
if ( ③ ):
break
print("解为:",x0)
input("运行完毕,请按回车键退出...")
程序中①②③处分别填入( )
A.①f(a)*f(x0)>0;②f(b)*f(x0)<0;③f(x0)==0
B.①f(a)*f(x0)<0;②f(b)*f(x0)<0;③f(x0)==0
C.①f(a)*f(x0)<0;②f(b)*f(x0)<0;③f(x0)=0
D.①f(a)*f(x0)<0;②f(b)*f(x0)>0;③f(x0)==0
10.有如下程序:
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]
11.执行该程序段后,输出的结果为 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
12.已知a=5、b=6,则执行如下语句后
a = a + b
b = a + b
a和b的值分别为( )
A.11、17 B.11、11 C.17、11 D.5、6
13.有下列 Python 程序段:
fruit=["pear","apple","orange"]
n=len(fruit)
ans=1
i=0
while i<=n-1:
if len(fruit[i])%2==0:
ans=ans*2
else:
ans=ans*2+1
i=i+1
print(ans)
执行该程序段后,输出的结果是 ( )
A.10 B.12 C.15 D.20
14.小明去网吧上网,普通包间3元一小时,高级包间4元一小时,豪华包间6元一小时,他决定用函数计算上网费用,如下:函效中的两个参数分别对应的是 、 ,豪华包间上网2小时的费用是 元。( )
A.上网时长 包间类型 12
B.包间类型 上网时长 12
C.上网时长 包间类型 8
D.包间类型 上网时长 8
15.在游览博馆的过程中,李华遇到了不同价格的博物馆纪念币,价格分为15元、20元,李华的手中有300元,为了预估自己最多能够买到多少枚纪念币,他要运用端制计算机程序的方法解决该问题。
count、count1赋初值为0
x、y赋初值为0
money=300
for i in range(1,15):
count1=i+(money-20*i)//15
if count1>count:
count=count1
x=i
y=(money-20*i)//15
print("最多购买纪币",count"枚")
机器自动计算需要解决的基本问题是数据和计算规则的表示、自动存储和计算规则的自动执行,图示中Python语言规定每条if语句的条件表达式后需要使用( )
A.分号 B.大括号 C.中括号 D.冒号
16.在下列程序中,若程序运行后输入20,输出的s的值为( )
A.30 B.50 C.40 D.20
17.为了学生的身体健康,现在很多的学校都会在教室中安装新风系统,它兼备了新风、净化、换气等多重功能,能够循环置换室内外空气,净化掉室外空气中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
18.购买地铁车票:乘1-4站3元/人;5-9站4元/人;9站以上5元/人。根据输入的站数N,输出应付款M,如需将算法补充完整,最适合的选项是( )
A.N>9 B.N<=9
C.5<=N<=9 D.N>=5 and N<=9
19.在游览博馆的过程中,李华遇到了不同价格的博物馆纪念币,价格分为15元、20元,李华的手中有300元,为了预估自己最多能够买到多少枚纪念币,他要运用端制计算机程序的方法解决该问题。
count、count1赋初值为0
x、y赋初值为0
money=300
for i in range(1,15):
count1=i+(money-20*i)//15
if count1>count:
count=count1
x=i
y=(money-20*i)//15
print("最多购买纪币",count"枚")
图示中for循环语句中嵌套了if语句,关于嵌套描述错误的是( )
A.if语句中可以嵌套for或while语句
B.if语句中可以嵌套if语句
C.Python语言中else语句可以嵌套自身
D.Python语言中for或while之间可以相互嵌套
20.有如下Python程序段:
a=int(input("请输入一个数:"))
if a>0:
a=a%10
elif a==0:
a=a+1
else:
a=a**2
a=a+10
print(a)
输入a值为20,执行该程序段后,输出的结果是( )
A.14 B.11 C.10 D.1
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.C
【详解】本题主要考查Python程序的执行与调试。len(lst) -1=6,外层循环理论一共要执行6次,即加框处理论上执行6次,但当i=4时,lst已有序,循环结束,因此加框处语句被执行的次数是5。每次循环lst的变化:[1, 7, 3, 4, 3, 3, 6]→[1, 3, 7, 3, 4, 3, 6]→[1, 3, 3, 7, 3, 4, 6]→[1, 3, 3, 3, 7, 4, 6]→[1, 3, 3, 3, 4, 7, 6],故本题选C选项。
2.C
【详解】本题考查的是字符串相关知识。字符常量是指用一对单引号括起来的一个字符,故选项C正确。
3.A
【详解】本题考查Python分支结构的应用。选项B,无法保证k//100的末位是十位上的数字。选项C、D,判断的是个位上的数字。选项A符合题意。故选A。
4.A
【详解】本题主要考查Python程序的执行与调试。for循环可以执行9次。第一次for循环随机数生成的一定是0,r是[60],if条件不满足,所以list1最多有9个元素,D选项有10个元素错误。因为有if条件的存在,list1中不会有重复数据,B选项错误。C选项中第二值为62,需要至少是第三次循环此时i为2。第三个值为67,至少需要是第六次循环此时i为5。第六次循环后还剩3次循环,所以67之后最多有3个元素而C选项有4个选项,矛盾,选项C错误,故本题选A选项。
5.B
【详解】本题主要考查Python分支结构。a=4,b=3,满足b>2,执行a=a+3=7;满足a>=4,执行a=a+2=9,分支结束,故运行该程序段后变量 a 的值为9,选B选项。
6.A
【详解】本题主要考查Python程序的综合应用。分析程序,显示难过的表情,则温度传感器读取的温度可能是 40 ;每 3 秒读取一次温度;如果读取的温度是 35.5,会显示开心的表情, 但不会播放音乐;microbit 板不自带温湿度传感器,故本题选A选项。
7.C
【详解】本题主要考查Python程序的执行。分析程序可知,ch依次是从字符串s1中取的字符,如果ch是数字时,则将其作为索引从字符串q中取对应的数字,故521对应的数字是053;如果ch是小写字母,则将其循环后移2位;如果ch是其他字符,则保持不变,故输入s1的值为"Mike521@qq.com",则输出结果为Mkmg053@ss.eqo,故本题选C选项。
8.A
【详解】本题主要考查排序算法及Python程序实现。观察整个程序,外循 while i <9控制排序趟数,内层循环 for j in range (9, k ,-1)是从后往前冒泡,每次执行 for 循环前 i 的值赋给 k,每次 for 循环执行结束后 j = k +1= i +1,划线处语句同时为趟数控制变量 i 每循环一次 i 值加1,即 i=j 。故选A选项。
9.B
【详解】本题主要考查Python程序及二分法。变量a保存区间左边界,变量b保存区间右边界,由代码“b=x0”可知①处填f(a)*f(x0)<0,同理②空填f(b)*f(x0)<0,当f(x0)==0时,则说明x0是方程的解,故③处填f(x0)==0,故本题选B选项。
10.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选项。
11.D
【详解】本题主要考查Python程序的执行与调试。分析程序可知,该程序实现统计输入的正整数n中不相同数字的个数。执行该程序段后,输出的结果为 4,则应输入的内容为24686482,故本题选D选项。
12.A
【详解】本题主要考查VB程序的执行。a=5,b=6,a=a+b=11,b=a+b=11+6=17,故程序执行后,a和b的值分别为11、17,故本题选A选项。
13.A
【详解】本题主要考查Python程序的执行。n=len(fruit)=3,ans=1,第一次循环,i=0,len(fruit[i])%2=0,执行ans=ans*2=2,i=i+1=1;第二次循环,i=1,len(fruit[i])%2=1,执行ans=ans*2+1=5,i=i+1=2;第三次循环,i=2,len(fruit[i])%2=0,执行ans=ans*2=10,i=i+1=3,循环结束,故执行该程序段后,输出的结果是10,故本题选A选项。
14.A
【详解】本题主要考查Python条件分支结构。由代码可知,函效中的两个参数hour对应的是上网时长,style对应的是包间类型,豪华包间6元一小时,豪华包间上网2小时的费用是6*2=12,故本题选A选项。
15.D
【详解】本题主要考查Python分支结构。图示中Python语言规定每条if语句的条件表达式后需要使用冒号,故本题选D选项。
16.A
【详解】本题主要考查分支结构。当s的值为20,20>60不满足条件,则s+=20不执行。只执行s+=10(扩写表达式:s=s+10),s=20+10=30,故本题选A选项。
17.A
【详解】本题考查Python分支结构。A选项正确,首先判断PM2.5是否大于115,如果是,则输出"中度以上污染";如果不是,则判断是否大于75,如果是,则输出"轻度污染"。B选项错误,这个选项只考虑了PM2.5大于115的情况,对于大于75小于等于115的情况没有进行区分,因此不符合题意。C选项错误,这个选项没有考虑到PM2.5小于等于75的情况。D选项错误,当M大于75时,则不能再判断是否大于115。故答案为:A。
18.B
【详解】本题考查条件语句。根据题目要求,购买地铁车票:乘1-4站3元/人;5-9站4元/人;9站以上5元/人。故N<=9满足5-9站4元/人,最适合,因此选项B正确。
19.C
【详解】本题主要考查Python嵌套语句。Python语言中else语句是if语句的一部分,因此它不可以嵌套自身,故本题选C选项。
20.C
【详解】本题考查的是Python多选择结构。输入a值为20,满足 a>0,执行 a=a%10=0,a=a+10=10,故本题应选C。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$