2023年3月电子学会青少年软件编程(Python六级)等级考试试卷
剩余时间 --:--:--
单选题 共 25 题
1.

小明想做一个接弹球游戏,他在窗体上用标签的方式显示文字,代码如下:

import tkinter
from tkinter import *
win = Tk()
txt= ______(win,text="接弹球游戏")
txt.pack()
cv = Canvas(win, width = 640, height = 480)
cv.pack()

下划线处应填入的代码是?()

2.

执行以下语句后,文件txt的内容是?()

fo = open("txt",'w')
x= ["大学","道德经","易经"]
fo.write(' '.join(x))
fo.close()
3.

下列关于sqlite数据库说法,不正确的是?()

4.

有如下程序段:

class Person():
    def __init__(self, name, age): 
        self.name = name  
        self.age = age
    def fun(self):
        print(self.name,end = ",")
        print(self.age)
xm = Person("10", "小红") 
xm.fun()

执行代码后,输出的结果是?()

5.

有如下程序:

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()

下列说法不正确的是?()

6.

有如下程序段:

with open('mistakes.txt', 'w') as f:
    words =['believe','memorize']
    f.write('\n'.join(words))

执行该代码后,文件mistakes.txt中的内容是?()

7.

有如下程序代码:

class Person():                     # ①
    def __init__(self, name, age):  # ②
        self.name = name            # ③
        self.age = age
xm = Person("小红", "10")           # ④

下列说法正确的是?()

8.

执行下面代码,说法正确的是?()

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)
9.

文件data.csv里的内容如下:

zhang,17,5

wang,10,2

li,19,3

执行以下代码

f = open('data.csv', 'r')
print(f.readlines())
f.close()

关于执行结果的描述,正确的选项是?()

10.

小红收集了《小王子》中一段文字,存储在“LittlePrince.txt”中,现要读取整段文字内容,返回字符串。程序代码如下:

f = open("LittlePrince.txt", "r")
articles = _________
f.close()

画线处应填写的语句是?()

11.

有下列语句命令:

import sqlite3
conn = sqlite3.connect("db/test.db")
cur = conn.cursor( )
cur.execute("SELECT * FROM students")
data = cur.fetchall()
cur.close()
conn.close()

可知当前的数据表名是?()

12.

numpy中,下列能产生[1 2 3]的是?()

13.

高一(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()
14.

小李编写程序,制作某道选择题的选择比例图,程序如下,生成的比例图是?()

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()
15.

对于用numpy.arange(1,6)函数创建的N维数组a, a*2的结果是?()

16.

执行下列程序,输出的结果是?()

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()
17.

为统计班级同学假期的阅读情况,王老师通过某 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()

①②二处代码应该填?()

18.

下列关于csv 库中有4个常用的对象的说法,正确的是?()

19.

下列关于数据的说法,正确的是?()

20.

执行下列代码,说法错误的是?()

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()
21.

假设city.csv文件内容如下,那么下面代码的输出结果是?()

哈密瓜,香瓜,无籽西瓜,水晶葡萄

奶油富士,火龙果,百香果

f= open("city.csv", "r")
s = f.read().split(",")
f.close()
print(s)
22.

“人口性别年龄结构数据.csv”文件存放了若干年的人口数据,内容如图所示。

小李想要读取每年性别为男的数据,他编写了如下代码:

import csv
with open('人口性别年龄结构数据.csv', 'r') as f:
     reader = csv.reader(f)
     for i in reader:
          print(________)

画线处语句正确的是?()

23.

有如下程序段:

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()

程序实现的功能是?()

24.

在Python的类定义中,对函数变量的访问形式是?()

25.

有如下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()
判断题 共 10 题
1.

使用grid()方法管理布局,可以使用grid(row=0,column=0)将Label标签放入第一行第一列。

2.

语句“conn = sqlite3.connect("test.db")”的功能是若数据库文件"test.db"存在则打开;若数据库文件不存在,则新建一个名为"test.db"的数据库文件。

3.

Python中可以通过对象名=类名()创建对象。

4.

利用matplotlib绘制图形时,语句plt.show()可以省略。

5.

执行语句“f=open('words.txt',"r")”,若文件夹中不存在“words.txt”文件,会报错。

6.

CSV文件是一种常见的用来存储一维或者二维的数据文件,实际上是一种txt文件,只能用记事本打开。

7.

类中的函数称为方法,方法__init__() 是一个特殊的方法,开头和末尾各有两个下划线,这种约定避免Python默认方法与普通方法发生名称冲突。

8.

执行下列代码:

import numpy as np
x = [(1,2,3),(4,5,6),(8,9,0)]
a = np.asarray(x)
print (a)

输出的结果为((1, 2, 3) (4, 5, 6) (8, 9, 0))。

9.

二进制文件也可以使用记事本或其他文本编辑器打开,一般来说无法正常查看其中的内容。

10.

在Python中可以实现可视化效果,绘制数学函数图像一般要用到的库是numpy和matplotlib。

C++ 编辑器
输入
输出