2023年5月电子学会Python六级考试真题(含答案和解析)
分数:100 题数:38
一、单选题(共25题,共50分)
1. 明明每天坚持背英语单词,他建立了英语单词错题本文件“mistakes.txt”,将每天记错的单词增加到该文件中,下列打开文件的语句最合适的是?(C)
A. f = open("mistakes.txt")
B. f = open("mistakes.txt","r")
C. f = open("mistakes.txt","a")
D. f = open("mistakes.txt","w")
试题解析:open函数的第一个参数是文件名称,包括路径;第二个参数是打开的模式mode,'r': 只读(缺省。如果文件不存在,则抛出错误),'w': 只写(如果文件不存在,则自动创建文件),'a': 附加到文件末尾。
2. 小张近阶段要学习的英文单词存储在“data.txt”文件,格式如图所示。
处理“data.txt”文件中英文单词的Python程序段如下:
file = open("data.txt")
for word in file:
if word[0:1] == "c":
continue
else:
print(word)
file.close()
下列关于该程序段的功能,说法正确的是?(D)
A. 输出包含"c"(区分大小写)的单词
B. 输出以"c"开头(区分大小写)的单词
C. 输出以"c"开头(不区分大小写)的单词
D. 输出不是以"c"开头(区分大小写)的单词
试题解析:读取文件后word存储文件每一行内容,word[0:1]代表该行首字母,如果是小写字母"c"开头,跳过,否则,打印该单词,因此程序功能是输出不是以"c"开头(区分大小写)的单词。
3. 文件“score.csv”中存放了3位同学的成绩数据,小李编写程序读取数据内容,文件内容和程序成功读取界面如图所示。
import csv
csv_reader = csv.reader(open(______))
for row in csv_reader:
print(______)
上述程序中划线处应填入?(D)
A. score row
B. score.csv "row"
C. "score" "row"
D. "score.csv" row
试题解析:读取文件时open函数的参数为字符串,应该是完整的文件名加上字符串标识,row代表每一行内容,不应该加字符串标识。
4. 有如下程序代码:
import csv # ①
headers = ['学号','姓名','分数']
rows = [['202001','张三','98'],
['202002','李四','95'],
['202003','王五','92']]
with open('score.csv','w',encoding='utf8',newline='') as f : # ②
writer = csv.writer(f) # ③
writer.writerow(headers)
writer.writerows(rows) # ④
关于上述语句的解释,不正确的是?(D)
A. ①处功能为导入csv 库
B. ②处以写方式打开文件
C. ③处创建 csv.writer 实例
D. ④处一次只能写入一行
试题解析:writer.writerows(rows)将写入多行数据。
5. 关于matplotlib模块中函数的功能,下列描述正确的是?(D)
A. bar()函数用于绘制折线图
B. plot()函数用于绘制水平柱形图
C. barh()函数用于绘制垂直柱形图
D. scatter()函数用于绘制散点图
试题解析:bar()函数用于绘制垂直柱形图,plot()函数用于绘制折线形图,barh()函数用于绘制水平柱形图,因此,ABC选项均错;scatter()函数用于绘制散点图,因此,答案为D。
6. 绘制sin(x)的图形如图所示,画线处的语句是?(C)
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0, 10, 30)
___________
plt.show()
A. plt.bar(x)
B. plt.scatter(x)
C. plt.plot(x, np.sin(x))
D. plt.scatter(x, np.sin(x))
试题解析:绘制折线图函数是plot,参数必须有2个,第一个参数是x,第二个参数是np.sin(x)。
7. 下列关于类和对象的说法,正确的是?(D)
A. 通过def关键字定义类
B. 通过class创建实例
C. 每个对象的数据相同
D. 每个对象拥有相同的方法
试题解析:Python定义类是通过class关键字,通过类名+()实现创建实例,每个对象的数据可能不同,每个对象拥有相同的方法。
8. 有如下程序段:
class Student:
count = 0
def __init__(self, name):
self.name = name
Student.count += 1
def study(self):
print(f'{self.name}在学习')
student1 = Student("小明")
student2 = Student("小红")
student2.study()
执行代码后,下列说法不正确的是?(B)
A. 程序创建了2个实例
B. Student.count的值为0
C. study为该类的方法
D. 输出的结果为“小红在学习”
试题解析:程序创建了2个实例,Student.count的值为2。