内容正文:
2.2 做出判断的分支2024-2025学年高中信息技术教科版(2019)必修1
一、选择题
1.某Python代码如下所示,执行后输出的结果是( )
s="5h2caeP0"
s1=""
s2=""
for x in s:
if "0"<=x<="9":
s1=s1+x
else:
s2=x+s2
ans=s2+s1
print(ans)
A.052hcaeP B.hcaeP052 C.520Peach D.Peach520
2.有如下程序代码:
import pandas as pd
data={ '姓名':['李商隐','欧阳修','李白',杜甫'],'借阅次数': [ 32,16,30,26]}
df1=pd. DataFrame (data, columns=[ '姓名','借阅次数'])
c = 0
for i in range ( len (df1 ['姓名'])):
if df1.at [i,'姓名'][0]= ='李':
c+= df1.at [i,'借阅次数']
print (c)
该程序运行后,输出的内容为( )
A.46 B.48 C.58 D.62
3.为了保证图书的有效流通,在该图书馆内借书,30天及以内可享受免费,超过规定日期10天及以内,每天需交纳滞还费0.2元,逾期10天以上则每天需交纳滞还费0.5元。下列Python程序段中符合要求的是( )
A.
if day<=30:
pay=0
if day>40:
pay=2+0.5*(day-40)
else:
pay=0.2*(day-30)
B.
if day<=30:
pay=0
elif day<=40:
pay=0.2*(day-30)
else:
pay=2+0. 5*(day-40)
C.
pay=0
if 30<day<=40:
pay=0.2*(day-30)
else:
pay=2+0.5*(day-40)
D.
pay=0
if day>=30:
pay=0.2*(day-30)
elif day>40:
pay=2+0.5*(day-40)
A.A B.B C.C D.D
4.有如下 Python 程序段:
import random
a= [0]*6
a[0] =random.randint(95,100)
for i in range(1,6) :
a[i] = a[i-1]-random.randint(0,5)
if i%2==0 :
a[i] = a[i]+ a[i] % 10
print(a)
执行该程序段后,输出的内容不可能的是 ( )
A.[99,96,98,93,96,96]
B.[99,96,97,93,99,96]
C.[100,98,106,106,104,103]
D.[97,94,98,98,102,100]
5.有如下 Python 程序段:
import random
d=[0]*6
i=0
while i<=5:
d[i]=random.randint(1,10)
if d[i]%2==i%2:
continue
i=i+1
print(d)
该程序执行后,下列输出的结果不正确的是( )
A.[5, 8, 9, 8, 9, 2] B.[7, 4, 5, 9, 3, 6]
C.[9, 6, 7, 2, 5, 4] D.[3, 8, 7, 6, 5, 4]
6.若输入的值是 6,输出结果( )。
A.0 B.1 C.2 D.6
7.运行以下Python程序段,输入85,输出结果是( )
s=float(input("请输入分数:" ))
if 90<=s<=100:
print("A等第")
elif 75<=s<90:
print("B等第")
elif 60<=s<75:
print("C等第")
elif s<60:
print("D等第")
A.A等第 B.B等第 C.C等第 D.D等第
8.在游览博馆的过程中,李华遇到了不同价格的博物馆纪念币,价格分为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.冒号
9.居民身份证号码由6位地址码、8位出生日期码、3位顺序码和1位校验码组成。倒数第2位是性别代码,奇数代表男,偶数代表女。其格式如图所示:
下列程序段可以根据存储在变量ID中的身份证号码正确输出性别的是( )
A.gender=[“男”,“女”]
print(gender[int(ID[-2])%2])
B.gender=“男女”
print(gender[2-int(ID[-2])%2])
C.gender=“男”
if int(ID[-2])%2==0:
gender=“女”
print(gender)
D.if int(ID[-2])%2==0:
gender=“女”
gender=“男”
print(gender)
A.A B.B C.C D.D
10.有如下python程序段:
a,b=4,3
if a%2==0:
if b%3!=0:
c=a*b
else:
c=a**b
else:
c=a+b
print(c)
该程序段运行后,变量c的值为( )
A.64 B.12 C.7 D.81
11.下列选项中,属于Python中正确的数值表示形式的是( )
A.3.457E-6.8 B.-3.457*10-2 C.±34.57 D.3.457E-2
12.一个闰年年份“2**2”,中间两个数字未知。以下Python程序段的功能是:输出可能的最大年份。
i=100;flag=False
while i>0 and not flag:
print(j)
方框中的代码由以下三部分组成:
下列选项中代码顺序正确的是( )
A.①②③ B.①③② C.②③① D.③①②
13.现有一段代码如下,现输入“260”和“-123”,运行后输出结果分别是( )
x=input("请输入数据")
if x[0]=="-":
fz=-int(x[:0:-1])
else:
fz=int(x[::-1])
print(fz)
A.062 -32 B.62 321 C.62 -32 D.62 -321
14.某 Python 程序段如下:
a = [28, 29, 79, 14, 24, 43]
m = int(input("请输入一个整数: "))
pos = -1
for i in range(len(a)):
if a[i] > m:
if pos == -1 or a[i] < a[pos]:
pos = i
运行该程序段, 若输入 40, 变量 pos 的值是( )
A.-1 B.2 C.3 D.5
15.有如下Python程序段:
def f(x):
if x==1:
return 1
else:
return x*f(x-1)
s=0
for i in range(1,6):
s+=f(i)
print(s)
执行该程序段后,变量s的值是( )
A.33 B.34 C.154 D.153
16.有如下 Python 程序段:
import random
a=[0]*6
i=0
while i<6:
a[i]=random.randint(1,10)
if a[i]%2==i%2:
continue
elif i%2==1:
a[i]=a[i]-a[i-1]
i+=1
程序运行后,列表 a 的值可能是( )
A.[2,3,4,1,6,-5] B.[7,3,9,-1,9,-3] C.[5,9,3,3,5,1] D.[1,5,7,-2,3,5]
17.阅读下列用二分法查找输入的1000以内的整数次数的程序
x=int(input("请输入要查找的1000以内的整数:"))
step=0
flag1=1
flag2=1000
while(flag1<=flag2):
mid=①
step=step+1
if mid>x:
flag2=②
elif mid<x:
flag1=③
else:
break
print("查找次数为:",step)
input("运行完毕,请按回车键退出...")
下列说法正确的是( )
A.①处填(flag1+flag2)/2,②处填mid-1,③处填mid+1
B.①处填(flag1+flag2)//2,②处填mid-1,③处填mid+1
C.①处填(flag1+flag2)//2,②处填mid+1,③处填 mid-1
D.以上都不对
18.根据《铁路旅客运输规程》规定,高铁购票标准为:身高达到及超过1.5米的乘客购买全价票,高铁儿童免票身高为1.2米及以下,儿童身高高于1.2米、不到1.5米的儿童可享受半价。用下面Python程序实现上述算法,则第4行划线处代码应为( )
1 h=float (input("请输入身高(米): "))
2 if h<=1.2:
3 print (“免票”)
4 elif __________:
5 print("请购买半价票" )
6 else:
7 print("请购买全价票" )
A.h>1.5 B.h>=1.5 C.h<1.5 D.h<=1.5
19.从键盘上输入数字90,下面代码输出的结果是( )
x=int(input("Enteranumber:"))
if x>=90:
print("A")
elif x>=75:
print("B")
elif x>=60:
print("C")
else:
print("D")
A.B B.C C.D D.A
20.选择结构程序应用的分支语句是( )
A.if B.for C.while D.fenzhi
试卷第1页,共3页
试卷第1页,共3页
学科网(北京)股份有限公司
参考答案:
1.D
【详解】本题主要考查Python程序的执行。分析程序可知,依次从字符串s中取字符,如果是数字,则顺序连接到变量s1中,非数字字符的倒序连接到变量s2中,最后将s2和s1进行连接并且赋值给ans,因此执行后输出的结果是Peach520,故本题选D选项。
2.D
【详解】本题主要考查Python程序的执行。分析程序可知,该程序实现用变量c统计姓“李”的借阅次数,李商隐和李白的借阅次数分别是32和30,故c=0+32+30=62,故本题选D选项。
3.B
【详解】本题考查的是Python选择语句。选项A中,30天及以内,会执行else分支,不符合题意;选项C中,30天及以内,会执行else分支,不符合题意;选项D中,超过30天一直执行if分支,elif分支不会被执行,不符合题意。故选B。
4.B
【详解】本题主要考查Python程序的执行与调试。a[0] =random.randint(95,100),a[0]是随机生成95~100之间的整数, 当i等于偶数时,执行 a[i] = a[i]+ a[i] % 10,即除a[0]外索引为偶数的值均为偶数,选项B中a[2]=97不符合,故本题选B选项。
5.B
【详解】本题主要考查Python程序的执行与调试。d[i]=random.randint(1,10),即随机生成1~10之间的整数,如果满足d[i]%2==i%2,则跳过本次循环,即最终生成的d[i]是奇数、偶数、奇数、偶数、奇数,因此[7, 4, 5, 9, 3, 6]不符合题意,故本题选B选项。
6.B
【详解】本题考查的是选择语句流程图。输入的值为6>=0,则执行y=1。故本题应选B。
7.B
【详解】本题主要考查Python多分支结构。输入85,满足75<=s<90条件,故执行print("B等第")。选项B正确。
8.D
【详解】本题主要考查Python分支结构。图示中Python语言规定每条if语句的条件表达式后需要使用冒号,故本题选D选项。
9.C
【详解】本题主要考查Python程序的执行与调试。奇数代表男,偶数代表女,列表和字符串的索引从0开始,因此选项A、B输出的性别相反。选项D输出的性别始终是“男”,故本题选C选项。
10.A
【详解】本题主要考查Python程序的执行。a=4,b=3,满足a%2=0,b%3=0,执行c=a**b=4**3=64,故该程序段运行后,变量c的值为64,故本题选A选项。
11.D
【详解】本题考查Python数据类型。A选项中次幂不能为小数,B选项中次幂表达错误,C选项中正负值不能连写。故选D。
12.D
【详解】本题主要考查Python程序的执行与调试。变量i表示中间未知的两个数字,题干要输出可能的最大年份,应从99开始,而i的初值为100,故首先执行③i=i-1;其次是年份的表示用变量j,故第二部分是①j=2002+i*10;最后判断j是否是闰年,若是则赋值flag为True退出循环,故②if j%4==0 and j%100!=0 or j%400==0: flag=True,故本题选D选项。
13.D
【详解】本题主要考查Python程序的分支结构。切片操作基本表达式:object[start_index:end_index:step],step:正负数均可,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。start_index:表示起始索引(包含该索引对应值),该参数省略时,表示从对象“端点”开始取值。end_index:表示终止索引(不包含该索引对应值),该参数省略时,表示一直取到数据“端点”。当输入260时,执行else部分,输出62;输入-123时执行if部分,输出-321,故本题选D选项。
14.D
【详解】本题主要考查Python程序的执行。m=40,分析程序,当i=2时,满足2个if判断条件,pos=i=2;当i=5时,满足2个if判断条件,pos=i=5,循环结束。故运行该程序段, 若输入 40, 变量 pos 的值是5,故本题选D选项。
15.D
【详解】本题主要考查Python程序的执行。分析程序可知,函数f(x)用于计算x的阶乘。range(start, stop, [step]),start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5;step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)。执行该程序段后,变量s=f(1)+f(2)+f(3)+f(4)+f(5)=1!+2!+3!+4!+5!=1+2+6+24+120=153,故本题选D选项。
16.BC
【详解】 本题主要考查Python程序的执行与调试。a[i]=random.randint(1,10),a[i]随机生成1~10之间的整数,如果a[i]和i奇偶性一致,则保留a[i];如果a[i]是偶数,i是奇数,则a[i]=a[i]-a[i-1]。选项A,a[5]=-5,显然生成的a[i]=6-5=1与i=5奇偶性一致,应保留a[5]=1,故不可能是[2,3,4,1,6,-5]。选项BC符合程序,可行;选项D,a[3]=-2不符合题意,故本题选BC选项。
17.B
【详解】本题主要考查二分查找及Python程序实现。flag1=1,flag2=1000,二分查找的中间位置mid=(flag1+flag2)//2,故①处填(flag1+flag2)//2, mid>x,说明要查找的x在mid的左边,需要更新flag2=mid-1,否则更新flag1=mid+1,故②处填mid-1,③处填mid+1,故本题选B选项。
18.C
【详解】本题主要考查Python多分支结构的应用。不到1.5米的儿童可享受半价,因此此处elif判断条件是h<1.5,故本题选C选项。
19.D
【详解】本题主要考查Python分支结构。x=90,满足if判断条件,输出结果是A,故本题选D选项。
20.A
【详解】本题主要考查Python分支结构。选择结构程序应用的分支语句是if,循环结构应用的循环语句是for和while,故本题选A选项。
答案第1页,共2页
答案第1页,共2页
学科网(北京)股份有限公司
$$