2023年3月电子学会青少年软件编程(Python六级)等级考试试卷
客观题
六级
2023
2023-04-16 18:24:12
50次
一、单选题
有如下程序:
import tkinter as tk
window = tk.Tk()
window.geometry('300x150')
window.title('my first window')
var = tk.StringVar()
label = tk.Label(window, textvariable=var)
label.pack()
on_hit = False
def hit_me():
global on_hit
if on_hit == False:
var.set('You hit me')
on_hit = True
else:
var.set('')
on_hit = False
button = tk.Button(window, text='hit me', width=15, height=1, command=hit_me)
button.pack()
window.mainloop()下列说法不正确的是?()
| A. 程序运行时,窗体上有1个Label和1个Button |
B. Button文字内容在'hit me'和'You hit me'间切换 |
| C. hit_me函数是按钮事件 |
D. window.mainloop()省略不影响运行效果 |
【知识点】 电子学会Python六级
有如下程序段:
with open('mistakes.txt', 'w') as f:
words =['believe','memorize']
f.write('\n'.join(words))执行该代码后,文件mistakes.txt中的内容是?()
| A. 一行内容为“believe memorize” |
B. 一行内容为“believe\n memorize” |
| C. 第一行内容为“believe”,第二行内容为“memorize” |
D. 第一行内容为“believe memorize”,第二行内容为“believe memorize” |
【知识点】 电子学会Python六级
执行下面代码,说法正确的是?()
import tkinter as tk
from tkinter import messagebox
root= tk.Tk()
root.title('演示窗口')
root.geometry("300x100+630+80")
btn1 = tk.Button(root)
btn1["text"]= "点击"
btn1.pack()
def call(event):
messagebox.showinfo('窗口名称','点击成功')
btn1.bind('<Button-1>',call) | A. 窗口的名称为‘点击’ |
B. 窗口内的按钮无法点击 |
| C. 按钮和call绑定 |
D. 窗口中有两个以上的按钮 |
【知识点】 电子学会Python六级
高一(1)班期末4个学科成绩平均分与年级平均分对照图表。用Python程序实现时,①②两行程序代码是?()

import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
df=pd.read_csv("高一(1)班成绩.csv",encoding="gbk")
x=np.array([1,2,3,4])
y=df["年级平均"]
y2=df["班级平均"]
①
②
plt.xticks(x+0.15,["Chinese","Math","English","Politlics"])
plt.show() | A. ①plt.plot(x,y,linewidth="3") ②plt.plot(x,y2,linewidth=”3") |
B. ①plt.bar(x,y,width=0.3) ②plt.bar(x+0.3,y2,width=0.3) |
| C. ①plt.plot(x,y) ②plt.plot(x,y2) |
D. ①plt.scatter(x,y) ②plt.scatter(x,y2) |
【知识点】 电子学会Python六级
小李编写程序,制作某道选择题的选择比例图,程序如下,生成的比例图是?()
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"] = "SimHei"
opt = [204, 509, 159, 213]
plt.pie(opt, labels=['A', 'B', 'C', 'D'], autopct='%1.2f%%')
plt.title("各选项的选答比例")
plt.show() | A.
|
B.
|
| C.
|
D.
|
【知识点】 电子学会Python六级
执行下列程序,输出的结果是?()
class Money:
name =""
shoe =0
satchel =0
clothes =0
def __init__(self,n,s1,s2,c):
self.name = n
self.shoe = s1
self.satchel = s2
self.clothes =c
def rmb_1(self):
print("{}今天去购物,总共花了{}元。". format(self.name,self.shoe+self.satchel+ self.clothes))
r= Money('李斌',120,50,280)
r.rmb_1() | A. 李斌今天去购物,总共花了280元 |
B. 今天去购物,总共花了450元 |
| C. 李斌今天去购物,总共花了450元 |
D. 今天去购物,总共花了280元 |
【知识点】 电子学会Python六级
为统计班级同学假期的阅读情况,王老师通过某 APP 设置打卡任务,记录阅读打卡信息“姓名,打卡日期,阅读开始时间,结束时间”。逐行读取“data.csv”文件中的数据,根据阅读开始时间和结束时间,计算每位同学的阅读总时长代码如下:

file = open("data.csv") #打开文件
line = file.readline() #从文件中读取一行
stu = {} #存储每位同学的阅读总时长
while line:
info = line.split(",") #将 line 以“,”为分隔符,分割成多个字符串组成的列表
t = ①
if info[0] in stu:
stu[info[0]] += t
else:
②
line = file.readline()
file.close()①②二处代码应该填?()
| A. ① convert(info[3]) - convert(info[2]) ② stu[info[0]] = t |
B. ① convert(info[4]) - convert(info[3]) ② stu[info[0]] = t |
| C. ① convert(info[3]) - convert(info[2]) ② stu[info[1]] = t |
D. ① convert(info[4]) - convert(info[3]) ② stu[info[1]] = t |
【知识点】 电子学会Python六级
执行下列代码,说法错误的是?()
import sqlite3
DATABASE = 'student.db'
db = sqlite3.connect(DATABASE)
cur = db.cursor()
cur.execute("CREATE TABLE IF NOT EXISTS list(id INTEGER PRIMARY KEY autoincrement, name text)")
db.commit()
cur.execute("SELECT COUNT(*) FROM list")
if cur.fetchall()[0][0] == 0:
cur.execute('INSERT INTO list(id,name) VALUES(1,"李明")')
db.commit() | A. 去掉最后一行的db.commit(),对程序有影响 |
B. list数据表中有两个字段id和name |
| C. student. db文件中有一张名为list的数据表 |
D. list数据表中没有记录 |
【知识点】 电子学会Python六级
假设city.csv文件内容如下,那么下面代码的输出结果是?()
哈密瓜,香瓜,无籽西瓜,水晶葡萄
奶油富士,火龙果,百香果
f= open("city.csv", "r")
s = f.read().split(",")
f.close()
print(s) | A. ['哈密瓜','香瓜','无籽西瓜’,'水晶葡萄\n奶油富士','火龙果','百香果'] |
B. ['哈密瓜','香瓜','无籽西瓜','水晶葡萄','奶油富士','火龙果','百香果'] |
| C. ['哈密瓜,香瓜,无籽西瓜,水晶葡萄,奶油富士,火龙果,百香果'] |
D. ['哈密瓜','香瓜','无籽西瓜','水晶葡萄','\n','奶油富士','火龙果','百香果'] |
【知识点】 电子学会Python六级
有如下程序段:
import sqlite3
conn= sqlite3.connect('test.db')
cur = conn.cursor()
sql = 'SELECT name,grade FROM Grades WHERE grade > 60'
rs = cur.execute(sql)
for x in rs:
print(x)
cur.close()
conn.close()程序实现的功能是?()
| A. 查询成绩大于60分的人的名字 |
B. 查询成绩小于60分的人的名字和成绩 |
| C. 查询并输出成绩小于60分的人的名字和成绩 |
D. 查询并输出成绩大于60分的人的名字和成绩 |
【知识点】 电子学会Python六级
有如下Python代码,执行该代码,说法不正确的是?()
import tkinter as tk
window = tk.Tk()
window.title('ListBox')
window.geometry('300x350')
var1 = tk.StringVar()
label = tk.Label(window, bg='yellow', width=4, height=2, textvariable=var1)
label.pack()
def print_selection():
value = listbox.get(listbox.curselection())
var1.set(value)
button = tk.Button(window, text='print selection', command=print_selection)
button.pack()
var2 = tk.StringVar()
var2.set((11,22,33,44))
listbox = tk.Listbox(window,listvariable=var2)
listbox.pack()
listitems = [1,2,3,4]
for item in listitems:
listbox.insert('end', item)
listbox.insert(1,'first')
listbox.insert(1,'second')
listbox.delete(1)
window.mainloop() | A. 当前窗口的名称为ListBox |
B. 当前窗口有一个按钮,名字为print selection |
| C. 当前窗口列表框中有"second"数据项 |
D. 当前窗口列表框中共有9条数据项 |
【知识点】 电子学会Python六级





