2021年03月Python三级真题
一、选择题
1.下列代码的输出结果是?( D )
x = 0x10
print(x)
A.2
B.8
C.10
D.16
2.关于语句f=open('d:/a.txt', 'r'),下列描述不正确的是?( C )
A.f是变量
B.'r'以只读方式打开文件
C.如果文件a.txt不存在,不会报错
D.‘d:/a.txt’是文件路径,代表d盘中一个名为‘a.txt’的文件
3.表达式 all([1,True,True])的结果是?( D )
A.1
B.False
C.出错
D.True
4.Python中表示合法的二进制整数是?( B )
A.0bC3F
B.0B1010
C.0B1019
D.0b1708
5.执行语句x,y,z=tuple([2,1,3])之后,变量y的值为?( A )
A.1
B.2
C.[1]
D.[2,1,3]
6.下列代码的执行结果是?( B )
ls=[[1,2,3],[[4,5],6],[7,8]]
print(len(ls))
A.1
B.3
C.4
D.8
7.下列能产生列表[1, 3, 5, 7, 9]的表达式是?( D )
A.list(range(0,9))
B.list(range(1,10))
C.list(range(0,9,2))
D.list(range(1,10,2))
8.二维列表data中,元素"3"的表示是?( C )
data = [[1,2],[3,4]]
A.data[0][0]
B.data[0][1]
C.data[1][0]
D.data[1][1]
9.下列代码的输出结果是?( C )
n = 2
b=bool(n-2)
print(n, b)
A.2 0
B.0 True
C.2 False
D.0 False
10键盘输入数字10,以下代码的输出结果是?( C )
try:
n = input("请输入—个整数: ")
n= n*n
except:
print("程序执行错误")
A.100
B.10
C. 程序执行错误
D.程序没有任何输出
11.下列程序运行后的输出结果是?( A )
for i in reversed(range(10, 0, -2)):
print(i,end=" ")
A.2 4 6 8 10
B.0 2 4 6 8 10
C.12345678910
D.9 8 7 6 5 4 3 2 1 0
12. 有如下列表1=[10,1,9,6,3,4],采用冒泡排序进行升序排序,请问第一趟排序之后的结果是?( B )
A.[1,3,9,6,10,4]
B.[1,9,6,3,4,10]
C.[1,6,3,4,9,10]
D.[1,3,4,6,9,10]
13.表达式max(3,min(5,1,7))的结果是?( B )
A.1
B.3
C.5
D.7
14.set() 函数通过交集、差集、并集等关系删除重复数据,创建一个无序不重复元素集。下列程序执行结果正确的是?( D )
x=set("中国")
y=set("美国")
print(x & y )
A.{'中国'}
B.{'美国'}
C.{'中美国'}
D.{'国'}
15.下列不能用于异常处理结构中捕获特定类型的异常的语句是?( A )
A.try-else语句
B.try-except语句
C.try-except-else语句
D.try-except-finally语句
16.下列表达式的结果不为10的是?( D )
A.sum([1,2,3,4])
B.sum((1,2,3),4)
C.sum([1,2,3],4)
D.sum([1,2],[3,4])
17.表达式divmod(40,3)的结果是?( B )
A.13,1
B.(13,1)
C.13
D.1
18.小明想对列表arr = [5, 33, 21, 67, 39, 73, 7, 43 ]中的数值进行升序排序,于是他编写了“选择排序”程序,在调试程序的过程,他故意将循环的次数改成了固定值,如下图所示。请问,现在这个程序执行之后print(arr)打印出的结果应该是?( D )
A.[5, 7, 21, 33, 39, 43, 67, 73]
B.[5, 7, 21, 33, 39, 73, 43,67]
C.[5, 7, 21, 67, 39, 73, 33, 43]
D.[5, 7, 21, 33, 39, 73, 67, 43]
19. 要表示10种不同的信息,需要的二进制位数至少为?( C )
A.2
B.3
C.4
D.5
20下列代码的输出结果是?( C )
for i in range(1,6):
if i%4== 0:
continue
else:
print(i,end =",")
A.1,2,3,
B.1,2,3,4,
C.1,2,3,5,
D.1,2,3,5,6,
21.以下关于算法以及算法的描述,错误的是?( C )
A.算法必须要在有限的步骤内完成
B.算法每个步骤的含义必须是确切的
C.算法必须有输入,但可以没有输出
D.算法可以没有输入,但必须要有输出
22.八进制10与十六进制10相加,其对应的十进制数是?( C )
A.20
B.26
C.24
D.18
23.下列代码的输出结果是?( D )
d ={"大海":"蓝色","天空":"灰色","大地":"黑色"}
print(d["大地"])
A.“大地”
B.大地
C."黑色"
D.黑色
24.假设city.csv文件内容如下,那么下列代码的输出结果是?( A )
f=open("city.csv","r")
ls=f.read().split(",")
f.close()
print(ls)
A.['巴哈马','巴林','孟加拉国','巴巴多斯\n白俄罗斯','比利时','伯利兹']
B.['巴哈马','巴林','孟加拉国','巴巴多斯','白俄罗斯','比利时','伯利兹']
C.['巴哈马,巴林,孟加拉国,巴巴多斯,白俄罗斯,比利时,伯利兹']
D.['巴哈马','巴林','孟加拉国','巴巴多斯','\n','白俄罗斯','比利时','伯利兹']
25.下列代码的输出结果是?( B )
lis=list(range(4))
print(lis)
A.[0,1,2,3,4]
B.[0,1,2,3]
C.0,1,2,3,
D.0,1,2,3,4
二、判断题
26. int('0x25',16)语句和int('25',16)语句都能实现将十六进制数0x25转换成十进制数的功能。( √ )
27. 使用open()函数打开'food.csv'文件后,返回的是列表。( × )
28.数据可分为一维数据、二维数据和多维数据( √ )
29.语句try-except-finally中finally语句无论异常是否发生都必须执行的语句。( √ )
30.CSV文件的每—行是一维数据,可以使用Python中的列表类型表示。( √ )
31.二进制数 1010111转换为十六进制数是 A7( × )
32. abs()函数的功能是将对小数进行取整,abs(-2.3)的运行结果是2。( × )
33.chr()函数用于将对象转换成字符串( × )
34.enumerate() 函数将字符串、列表、元组、字典等组合为索引序列,同时列出数据和数据下标。( √ )
35.
senson=["春","夏","秋","冬"]
senson.remove("秋")
print(senson)
执行上面程序,结果为['春', '夏', '冬']( √ )
三、编程题
36.一个四位数,如果在它的左边加一个数字8,就可以得到一个五位数;如果在它的右边加一个数字6,就可以得到另一个五位数, 这两个五位数的和是121410。请问原来这个四位数是多少?
现在请你编写程序,求出这个四位数。
补全下面的代码:
for a in range( ① ):
for b in range( ② ):
for c in range(0,10):
for d in range(0,10):
if ( ③ )+( ④ ) == 121410:
print(a,b,c,d)
试题解析:
①1,10 (2分 )
②0,10 (2分 )
③80000+a*1000+b*100+c*10+d (3分 )
④a*10000+b*1000+c*100+d*10+6 (3分 )
37.请读取文件/data/subways.csv的数据,数据内容如下图显示:
下列代码实现了读取“学号”和“身高”信息,输出“身高”达到120的学号,请你补全代码。
import csv
with open('/data/ ① ') as f:
rows = list( csv.reader (f))
for row in rows[1:]:
if(int(row[1])>=120):
print( ② )
试题解析:
评分标准:
① subways.csv (2分)
② row[0] (2分)
38.有一组数据[0,20,0,4,31]存放在nums中,请将列表中的所有零移动到列表尾。
nums=[0,20,0,4,31]
initLen = ①
i=0
j=0
while i<initLen:
if ②:
③= nums[i]
j+=1
i+=1
④=( len(nums)-j)*[0]
print(⑤)
试题解析:
①len(nums)(3分)
② nums[i]!=0(4分)
③ nums[j](3分)
④ nums[j:](3分)
⑤ nums(3分)