2023年5月电子学会Python三级考试真题(含答案和解析)
分数:100 题数:38
一、单选题(共25题,共50分)
1. 请选择,下面代码运行之后的结果是?( C )
a = '2'
b = '4'
try:
c = a * b
print(c)
except:
print('程序出错!')
else:
print('程序正确!')
A. 24
B. 8
C. 程序出错!
D. 程序正确!
答案解析:变量a与b都是字符串,不能进行乘法运算,所以经过异常处理之后,会打印”程序出错!“。
2. 下面程序执行结果是?( A )
a=['春','夏','秋','冬']
c=list(enumerate(a))
print(c)
A. [(0, '春'), (1, '夏'), (2, '秋'), (3, '冬')]
B. [[0, '春'], [1, '夏'], [2, '秋'], [3, '冬']]
C. [(1, '春'), (2, '夏'), (3, '秋'), (4, '冬')]
D. [[1, '春'], [2, '夏'], [3, '秋'], [4, '冬']]
答案解析:enumerate()函数用于将可遍历的数据对象组合为一个索引序列。如果 enumerate(对象),数据下标从0开始;enumerate(对象,start=1),则数据下标从1开始。
3. 下面程序执行结果是?( D )
s='123456789'
print(min(s)+max(s))
A. 1
B. 9
C. 10
D. 19
答案解析:s='123456789',min(s)='1',max(s)='9',所以结果为两个字符串相连,正确答案为:19。
4. 打开b.txt文件,将"Hello Tom!"写入文件,下列语句正确的是?( C )
A. f.write(['Hello'],[Tom!])
B. f.read('Hello',' Tom!')
C. f.write('Hello Tom!')
D. f.read('Hello Tom!')
答案解析:read()方法用于读取文件内容;write()方法需要一个字符串作为参数。
5. 下列数据中,最大的数值是?( C )
A. int('16',10)
B. int('110',2)
C. int('11',16)
D. int('1111',2)
答案解析:A为十进制16,B为十进制6,C为十进制17,D为十进制15。
6. 十六进制数7E转换为二进制数是几位数?( A )
A. 7
B. 6
C. 4
D. 2
答案解析:十六进制转二进制,从低位起,每位十六进制可转换为4位二进制数,合并后最左边的“0”去除。
7. 表达式int('13',8)的返回值是?( B )
A. 12
B. 11
C. 10
D. 15
答案解析:此处int()函数的功能是将八进制的字符串解析成十进制数。可采用按权展开相加法:3×80+1×81=11。
8. 有如下代码:
res = []
f = open('Python08.txt','r') #Python08.txt中共4行诗句
p = f.readlines()
for s in p:
res.append(s)
print(res)
f.close()
对于该段代码,说法不正确的是?( B )
A. 程序的功能是按行读取文本文件中的内容,并将其逐一写入列表res
B. 此处readlines()用法错误,应改成readline()
C. 该文本文件和程序代码文件在同一文件夹下
D. 参数'r'不允许修改该文本文件
答案解析:readline()每次只读取文件的一行,而readlines()是每次按行读取整个文件的内容,返回list类型数据。
9. 有代码如下: