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. 有如下程序代码:
关于上述语句的解释,不正确的是?(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 S tudent:
count = 0
def __init__(self, name):
self.name = name
S tudent.count + = 1
def study(self):
print(f' { self.name } 在学习')
student1 = S tudent("小明")
student2 = S tudent("小 红 ")
student2.study()
执 行代码后,下列说法不正确的是?(B)
A. 程序创建了 2 个实例
B. S tudent.count 的 值 为 0
C. study 为该类的方法
D. 输出的 结 果为“小 红 在学习”
试题解析: 程序创建了 2 个实例, S tudent.count 的 值 为 2。
9 . 有下列语句 命令 :
import s q lite3
conn = s q lite3.connect("test.db") # ①
cursor = conn.cursor() # ②
cursor.close() # ③
conn.close() # ④
下列关于语句功能解释,正确的是?(A)
A. ① 创建和 连接 数据库
B. ② 提交事务
C. ③ 关 闭 数据库 连接
D. ④ 关 闭游 标
试题解析: 先 导入数据库模块, connect( )函数用于创建和 连接 数据库,②为
创建 游 标③为关 闭游 标④为关 闭 数据库 连接 。
10. commit()函数是 提交 数据库 操作 的 命令 函数,下列不 需 要 执 行该函数的数
据库 操作 的是?(A)
A. 查询操作
B. 增加 操作
C. 修改操作
D. 删除操作
试题解析: commit()函数用于 提交当前 的 事务 。如果 您未调 用该方法, 那么 自
您 上一次 调 用 commit()以 来 所 做 的 任何 动 作 对 其 他数据库 连接来 说是不 可见 的。
11. 执 行数据库 操作 的 部 分代码如下:
import s q lite3
db = s q lite3.connect("test.db")
cur=db.cursor()
cur.execute("create table S tudent( S name char(20), S a g e SM A LLINT ) ; ")
db.close()
下列描述正确的是?(D)
A. 当前操作 的数据库的名称为 S tudent
B. create table 语句的功能是数据库 查询
C. 数据表中将会 插 入 2 条新 记 录
D. 当前 表中有 2 个字段
试题解析: 当前操作 的数据库的名称为“test.db”,create table 语句的功
能用于创建数据表,数据表中包含 S name 和 S a g e 两 个字段。
12. 小 萌 要用 tkinter 制 作 一个单 击按钮 ,输出“ H ello W orld ! ”的打 招呼 程
序,语句如下:
import tkinter as tk
window = tk. T k()
window.title("Python GUI ") # ①
window. g eometry("600x100")
window.mainloop()
程序中①处语句的功能是?(B)
A. 创建 窗口 对象
B. 设置窗口 标题
C. 设置窗口 大小
D. 使 用 窗口 对象
试题解析: window = tk. T k()为创建 窗口 对象,window. g eometry("600x100")
为 设置窗口 大小,window.mainloop()为 使 用 窗口 对象。
13. 小李 设计 一个 显 示加、 减 、 乘 、 除 的单选 框 界面,代码如下:
import tkinter
from tkinter import *
root = T k()
v = I nt V ar()
calcs = [ (' + ', 1), (' - ', 2), (" * ", 3), (" / ", 4),]
for calc, num in calcs:
# 设置 单选 框 ,用 来显 示 运算 符
R adiobutton(text = calc,variable =v,value=num). g rid(row=num - 1,
column=1)
root.mainloop()
运 行后的界面是?(B)
A.