2025届信息技术一轮复习练习:专题4 Python语言基础(含答案)

资源下载
  1. 二一教育资源

2025届信息技术一轮复习练习:专题4 Python语言基础(含答案)

资源简介

专题4 Python语言基础
知识点一 Python表达式
1.下列表达式2023%400%10**2//2的计算结果是(  )
A.23 B.11
C.0 D.4
2.Python表达式len(″python20221″)+15//2**3*3+int(-4.99)的值为(  )
A.9 B.10
C.12 D.13
3.下列Python表达式中值最大的是(  )
A.ord(″A″)% round(2.6)
B.6//2+(-2)%6
C.int(″6″+″2″)/abs(-10)
D.len(″1234″)*2
4.下列表达式中,值为True的是(  )
A.″Xj″ in ″Xuejun″
B.abs(int(-2.9))==len(″xjx″)
C.″xj″>″XJ″ and 5**2>2**5
D.″Xuejun″[:3]==″Xue″
5.下列表达式中,值为True的是(  )
A.not abs(-12.7)>12
B.3**2<=2**3
C.round(3.1415,3)==3.141 and ″2″ in ″3+27″
D.3!=1+2 or 5>=5
6.下列Python表达式值为True的是(  )
A.″average″[3:5]==″er″
B.30%7+10//2**3==3
C.abs(int(-4.95))==5
D.4 in range(4)
7.下列Python表达式的值为数值 5 的是(  )
A.int(max(″5″,″11″,″100″))
B.len([1,2,3,5])
C.str(5)
D.abs(-15/3)
知识点二 数据类型之字符串和列表
1.已知变量s=″2022py″,则表达式s[2]*2+s[-2::]的值是(  )
A.″22p″ B.″4py″
C.″22py″ D.″4p″
2.若a=″20230678″,b=[″2″,″4″,″6″],则表达式a[5:]+b[2:1:-1]*3的值是(  )
A.″24″ B.″696″
C.″678666″ D.″0678444″
3.若n='PythonPythonPython',则表达式n[3::3]的值为(  )
A.'hPhPh' B.'pyt'
C.'tntntn' D.'nhynhynhy'
4.有如下Python程序段:
cy=[″取长补短″,″一言为定″,″张灯结彩″,″坐井观天″,″风平浪静″,″张三李四″]
print(cy[2:5][1][3])
程序运行后,输出的结果是(  )
A.[″张灯结彩″,″坐井观天″,″风平浪静″]
B.[″坐井观天″]
C.彩
D.天
知识点三 字典
1.有如下Python程序段:
dic={″apple″:5,″cake″:10,″computer″:3000}
lis=[[1,2,3],″apple″,″computer″,[8,0,9]]
ans=0
for i in lis:
if len(i)<=3:
ans+=i[-1]
elif i in dic:
ans+=dic[i]
print(ans)
执行该程序段后,输出结果是(  )
A.3005 B.12
C.3014 D.3017
2.有如下Python程序段:
dic={″苹果″:[9.98,12.98],″香梨″:[8.98,16.98]}
dic[″苹果″][1]=15.98
dic[″葡萄″]=[12.58,13.98]
print(dic)
该程序运行后输出的结果为(  )
A.{″苹果″:[15.98,12.98],″香梨″:[8.98,16.98]}
B.{″苹果″:[9.98,15.98],″香梨″:[8.98,16.98]}
C.{″苹果″:[15.98,12.98],″香梨″:[8.98,16.98],″葡萄″:[12.58,13.98]}
D.{″苹果″:[9.98,15.98],″香梨″:[8.98,16.98],″葡萄″:[12.58,13.98]}
3.有如下Python程序段:
li=[[″a″,10],[″b″,20],[″c″,30]]
dic={}
for i in range(len(li)):
dic[li[i][0]]=li[i][1]
print(dic)
运行该段程序后,输出内容为(  )
A.{'a',10,'b',20,'c',30}
B.{10,20,30}
C.{['a','b','c'],[10,20,30]}
D.{'a':10,'b':20,'C':30}
4.有如下Python程序段:
f=[″begin″,″burn″,″dig″,″Dairy″,″delay″,″hit″,″cabbage″,″hang″]
dic={}
for line in f:
if line[0] in dic:
dic[line[0]]+=1
else:
dic[line[0]]=1
print(dic)
运行程序后,下列说法正确的是(  )
A.字典dic中的键值对共有4对
B.dic[″Dairy″]的值为3
C.字典dic的作用是统计每个单词出现的次数
D.字典dic中值为2的键值对有3对
5.某Python程序如下:
s=″san xian lian meng.″
dic={}
for i in s:
if i in dic:
dic[i]+=1
else:
dic[i]=1
在输出的字典dic中,dic[″n″]的值为(  )
A.1 B.2 C.3 D.4
6.使用字典Oil_dic={″92号″:8.73,″95号″:9.14}存储油价信息,经核实后92号油价是8.61,正确修改的语句是(  )
A.Oil_dic[0]=8.61
B.Oil_d[92号]=8.61
C.Oil_dic[1]=8.61
D.Oil_dic[″92号″]=8.61
7.字典data中存储了如下数据:{″课程″:[″舞蹈″,″Python″,″数学″],″地点″:[″舞蹈房″,″计算机房″,″教室″],″时长″:[″60分钟″,″40分钟″,″90分钟″]},若将″数学″课的时长调整为″70分钟″,以下操作可行的是(  )
A.data[2][2]=″70分钟″
B.data[″时长″][-1]=″70分钟″
C.data[-1][2]=″70分钟″
D.data[″时长″][3]=″70分钟″
8.已知字典dic存放学生的姓名和对应的语数英成绩,dic={″姓名″:″小红″,″语文″:101,″数学″:118,″英语″:132},现要在字典dic中增加一个键为″技术″,值为″97″的元素,下列语句正确的是(  )
A.dic[技术]=97
B.dic[″技术″]=[″技术″:97]
C.dic[″技术″]=97
D.dic[″技术″]={97}
9.有如下Python程序段:
s=″Python″
dic={″t″:1,″y″:2,″o″:3,″P″:4,″p″:5,″h″:6,″n″:7}
list=[3,7,1,6,3,9,2,6]
sum=0
for ch in s:
sum+=list[dic[ch]]
print (sum)
执行该程序段后,变量sum的值为(  )
A.23 B.25 C.31 D.37
10.有如下Python程序:
dic={″2″:″ABC″,″3″:″DEF″,″4″:″GHI″,″5″:″JKL″,″6″:″MNO″,″7″:″PQRS″,″8″:″TUV″,″9″:″WXYZ″}
s=input()
m=″″
t=1
for i in range(1,len(s)):
if s[i]==s[i-1]:
t+=1
elif s[i]==″#″:
m=m+dic[s[i-1]][t-1]
t=1
print(m)
执行该程序后输出“GET”,则输入的内容可能是(  )
A.5#44#9# B.4#33#8#
C.3#22#7# D.4#3#8#
11.某化合物是由C、H和O三种元素组成,可用通式CiHjOk来表示,其中i,j,k是1到9之间的整数。某元素的质量分数计算方法=(该元素相对原子质量*该元素原子个数)/该化合物的相对分子质量。
A=input('请输入化合物:') #如输入C2H4O2
dic={'C':12,'H':1,'O':16}
sum_total=0
sum=dic[A[0]]*int(A[1])
for i in ①________:
sum_total+=②________
print('C元素的质量分数:',sum/sum_total)
划线处应填入的代码为(  )
A.range(2,len(A),2)
dic[A[i]]*A[i+1]
B.range(0,len(A),2)
dic[A[i-1]]*int(A[i])
C.range(0,len(A),1)
dic[A[i]]*int(A[i+1])
D.range(0,len(A),2)
dic[A[i]]*int(A[i+1])
12.有如下Python程序段:
s=input(″请输入:″)
num={}
for i in s:
if i not in num:
num[i]=0
num[i]+=1
flag=False
for i in s:
if num[i]==1:
print(i)
flag=True
break
if not flag:
print(″err″)
若输入“go for it! just do it”运行该程序段,输出显示的结果为(  )
A.g B.o
C.t D.err
13.对于二维平面上的两个点,设坐标分别为(x1,y1)和(x2,y2),当满足x2>x1且y2>y1时,则称这两个点的y值随x增加而单调上升。如图中有编号为1~5的5个坐标点,其中1,2这2个点是单调上升,3,4,5这3个点单调上升,可得最长的连续单调上升序列的长度为3。
以下Python程序用于计算最长连续单调上升序列的长度:
dot={1:[1,2],2:[2,3],3:[3,2],4:[4,3],5:[5,4]}
tmp=1;ans=0
for i in range(2,6):
if ①________:
tmp+=1
if tmp>ans:
     ans=tmp
else:
     tmp=1
print(ans)
代码中空白处应依次填入语句是(  )
A.dot[i][0]>dot[i-1][0] and dot[i][1]>dot[i-1][1]
B.dot[i][1]>dot[i-1][1] and dot[i][2]>dot[i-1][2]
C.dot[i+1][0]>dot[i][0] and dot[i+1][1]>dot[i][1]
D.dot[i+1][1]>dot[i][1] and dot[i+1][2]>dot[i][2]
14.学考成绩与学考等级折算方法如下:“A”等折算成10分,“B”等折算成9分,“C”等折算成7分,“D”等折算成4分。现编写一个能实现将学考等级折算成相应分数的Python程序,请回答下列问题:
(1)若输入″aaabbaac″,该程序________(填:能/不能)计算出相应的折算成绩;
(2)请在程序划线处填上合适的代码。
level=input(″请输入各门功课的学考等级:″)
dic={″A″:10,″B″:9,″C″:7,″D″:4}
score=0
for i in range(len(level)):
score=score+①________
print(″你的学考成绩折算为:″+②________)
知识点四 控制结构
1.某商场推出″每满100减20,每满200减50,可以累计上不封顶″的优惠促销活动,用Python语言实现金额计算,设s为购买商品的原价,t为可优惠金额,下列选项正确的是(  )
A.t=s//200*50
if s%200>=100:
t=t+20
B.t=s//100*20
if s//200>0:
t+=s//200*50
C.if s>=200:
t=s//200*50
else:
t=s//100*20
D.if s>=100:
t=t//100*20
else:
t=t//200*50
2.某停车场的收费标准为“30分钟内(含)免费,3小时内(含)5元,超过3小时每增加1小时加收1元,停车不足1小时的按1小时计算。”已知停车时长为t分钟,则下列Python程序段中不能正确计算停车费m的是(  )
A.if t<=30:
m=0
elif t<=3*60:
m=5
else:
m=5+(t-3*60+59)//60
B.if t>30:
m=5
if t>3*60:
m=5+(t-3*60+59)//60
else:
m=0
C.m=5
if t>3*60:
m=5+(t-3*60+59)//60
elif t<=30:
m=0
D.m=0
if t>3*60:
m=5+(t-3*60+59)//60
if t>30:
m=5
3.有如下Python程序:
a=[82,15,36,28,63,90,10,71]
m=k=0
for i in range(len(a)):
n=(a[i]//10+a[i] % 10) % 10
if n>m:
m=n
k=i
print(k,m)
运行程序,输出结果是(  )
A.0 10 B.5 90 C.2 9 D.4 9
4.有如下Python程序段:
a=[0]*6
b=[75,88,91,88,99,80]
for i in range(5):
for j in range(i+1,6):
if b[j]>b[i]:
     a[i]+=1
else:
     a[j]+=1
print(a)
该程序段运行后,列表a的值为(  )
A.[5,3,1,2,0,4] B.[5,2,1,3,0,4]
C.[0,3,4,2,5,1] D.[6,4,2,3,1,5]
5.有如下Python程序段:
a=[1,5,9,2,6,8,3,4,7]
n=0;flag=True
for i in range(len(a)-1):
if a[i]n+=1;flag=False
elif a[i]>a[i+1] and flag==False:
n-=1;flag=True
print(n)
执行上述程序段后,输出的值为(  )
A.2 B.0 C.-1 D.1
6.有如下Python程序段:
s=input(″输入字符串:″)
n=len(s)
i,j=0,n-1
result=″″
while i=n//2:
if s[i]>s[j]:
result+=s[i];j-=1
elif s[i]result+=s[j];i+=1
else:
i+=1;j-=1
print(result)
执行该程序段,分别输入下列选项中的字符串,输出结果不为“555”的是(  )
A.″51234″ B.″12535″
C.″54321″ D.″55123″
7.某Python程序如下:
s=input(″请输入字符串:″)
ans=″″
a=[1,2,3]
for i in range(len(s)):
x=s[i]
key=a[i%3]
if ″A″<=s[i]<=″Z″:
   ans=ans+chr((ord(x)-65+key)%26+65)
else:
   ans=ans+x
print(ans)
执行该程序后,输入″A1b2D3″输出的结果为(  )
A.2b1BF B.B1b2F3 C.B3e3F6 D.6F3e3B
8.有如下Python程序段:
list=[2,1,3,4,5,7,12,14,26,37,63]
c=0
for i in range(2,11,2):
if list[i-2]+list[i-1]==list[i]:
c+=1
print(c)
该程序段运行结果为(  )
A.2 B.4 C.6 D.8
9.如果正整数n各个数位上的数字和是3的倍数,那么说明这个数能被3整除。利用Python编写如下程序段:
n=int(input(″请输入一个正整数:″))
s=0;t=0
while n>0:
if s%3==0:
print(″能被 3 整除″)
else:
print(″不能被 3 整除″)
方框中的代码由以下三部分组成:①n=n//10 ②t=n%10 ③s=s+t下列选项中,代码顺序正确的是(  )
A.①②③ B.③②①
C.③①② D.②③①
专题4 Python语言基础
知识点一
1.B [优先级最高为10**2=100,因此表达式为2023%400%100//2=23%100//2=23//2=11。]
2.B [len(″python20221″)=11,15//2**3*3=3,因此11+3-4=10。]
3.D [ord(″A″)%round(2.6)=2,B选项值为7,C选项值为6.2,D选项值为8。]
4.D [B选项abs(int(-2.9))=2,C选项5**2>2**5即25>32,值为False。]
5.D [A选项abs(-12.7)=12.7,因此值为False。B选项9<=8,值为False。C选项round(3.1415,3)=3.142。]
6.B [D选项range(4)值为0,1,2,3,该序列中没有4。]
7.A [A选项max(″5″,″11″,″100″)=″5″,因此int(″5″)=5。]
知识点二
1.C [s[2]*2=″2″*2=″22″,s[-2::]=″py″。]
2.C [a[5:]=″678″,b[2:1:-1]=″6″,表达式a[5:]+b[2:1:-1]*3的值″678″+″6″*3=″678666″。]
3.A [n[3::3]指的是在n中索引位置3开始,每隔3个位置取一个字符。]
4.D [cy[2:5]=[″张灯结彩″,″坐井观天″,″风平浪静″],cy[2:5][1]=″坐井观天″。]
知识点三
1.D [遍历列表lis,如果其中元素长度小于等于3,则累加最后一个元素,如果该元素是字典dic的键,则累加该键对应的值。]
2.D [将dic[″苹果″][1]原12.98修改为15.98,增加一个名为″葡萄″的键,值为[12.58,13.98]。]
3.D [遍历li数组,在dic字典中依次新建3个键″a″,″b″,″c″,其对应的值分别为10,20,30。]
4.D [遍历列表f,如果单词存在于字典dic中,将其对应的值增加,否则新建一个键,值为1。dic的内容为{'b':2,'d':2,'D':1,'h':2,'c':1}。]
5.D [统计字母出现的次数。]
6.D [字典的访问和修改只能通过"键”来访问,字典没有索引。]
7.B [″数学″是″课程″键对应的第3个值,其时长存储在″时长″键第3个,即索引第2个data[″时长″][2]。]
8.C [″技术″是字符串类型,其值为97。]
9.B [遍历字符串s,将每个字母作为键,在字典中找到相对应的值,现在list列表对应位置值进行累加。]
10.B [从“GET”在字典中的键来看,分别是4,3,8,“E”是值索引为1,因此将和变量t有关。]
11.D [本题考查字典的应用。C、H和O三种元素在通式CiHjOk的0、2、4位置,排除选项AC。该元素相对原子质量*该元素原子个数,A[i]和A[i+1]分别表示原子质量和原子个数,他们对应的值在dic字典中。]
12.A [本题考查字典的应用。第1个循环的功能是遍历字符串s,统计字母的个数。第二个循环的功能是输出第1个字母个数为1的键值,并结束循环,若没有1个字母的情况,输出″err″。]
13.A [本题考查字典应用。每个数据点的坐标以键值对的形式存储在字典中,变量i的初值为2,因此须与i-1进行比较。]
14.(1)不能 (2)①dic[level[i]] ②str(score)
解析 (1)字母″abc″在字典中找不到对应的键,取不出得分。(2)①遍历level字符串,将字母level[i]作为键,在字典中查找相应的得分并进行累加。②输出最后得分。
知识点四
1.A [表达式s//200表示满200的数量,若s大于等于200,则优惠的金额为s//200*50。D选项不能判断大于等于200的情况。]
2.D [D选项是两个选择结构,将会依次执行两个结构。]
3.C [本题考查最值查找。n是一个数的个位数和十位数两数之和,将和除10后的余数。最大值为3+6=9,其索引位置为2。]
4.B [遍历数组b前5个数,每个数将依次和他后面的数进行比较,若后面的数比他大,则在数组a对应索引加1,否则将对j对应索引加1,程序功能统计数组b中比他大的数的个数。]
5.D [a[i]6.B [本题考查字符串的操作。该程序段的作用是将字符串s中左半部分与右半部分按照从大到小的顺序交替排列,生成一个新的字符串result。输入s字符串为12535时,输出结果为55。]
7.B [表达式chr((ord(x)-65+key)%26+65)的功能是将大写字母x循环后移key个位置,而key只有3个值,不够时可以循环使用。如果是数字或小写字母直接相连。]
8.B [本题考查数组元素的遍历。从索引号为2的数组元素开始,统计当前元素是否是前面2个元素之和的个数。]
9.D [表达式n%10的功能计算n的个位数,n//10的功能是去除个位数,因此①在②之后,③在②之后。]

展开更多......

收起↑

资源预览