万卷网> 电子学会考级 >Python等级考试 > 2023年3月电子学会青少年软件编程(Python六级)等级考试试卷

2023年3月电子学会青少年软件编程(Python六级)等级考试试卷
客观题 六级 2023 2023-04-16 18:24:12 50

一、单选题

1.

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

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

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

A.

Label

B.

Button

C.

Text

D.

ListBox

2.

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

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

大学道德经易经


B.

大学 道德经 易经

C.

'大学,'道德经','易经'


D.

'大学'

' '

'道德经'

' '

'易经'

3.

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

A.

sqlite是一个跨平台的数据库

B.

sqlite是非关系型数据库

C.

sqlite数据库可以进行基本的增删改查操作

D.

Python可以通过加载sqlite模块来操作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()

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

A.

10 小红

B.

小红 10

C.

10,小红

D.

小红,10

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

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

A.

程序运行时,窗体上有1个Label和1个Button

B.

Button文字内容在'hit me'和'You hit me'间切换

C.

hit_me函数是按钮事件

D.

window.mainloop()省略不影响运行效果

6.

有如下程序段:

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”

7.

有如下程序代码:

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

下列说法正确的是?()

A.

①处Person为类名

B.

②处的self可以省略

C.

③处self.name为方法

D.

④处可以不加参数

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

窗口的名称为‘点击’

B.

窗口内的按钮无法点击

C.

按钮和call绑定

D.

窗口中有两个以上的按钮

9.

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

zhang,17,5

wang,10,2

li,19,3

执行以下代码

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

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

A.

输出三行列表,每行列表里面有一个字符串元素

B.

输出一行字符串,里面包括三个字符串

C.

输出三行字符串

D.

输出一行列表,里面包括三个字符串元素

10.

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

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

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

A.

f.read()

B.

f.readline()

C.

f.readlines()

D.

f.write()

11.

有下列语句命令:

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

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

A.

db

B.

test.db

C.

students

D.

data

12.

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

A.

np.array([1, 2, 3, 4])

B.

np.array(range(1, 3))

C.

np.arange(1, 4)

D.

np.arange(1, 5, 2)

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

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

B.

C.

D.

15.

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

A.

array([2,12])

B.

array([2,4,6,8,10])

C.

array([2,4,6,8,10,12])

D.

array([2,10])

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

李斌今天去购物,总共花了280元

B.

今天去购物,总共花了450元

C.

李斌今天去购物,总共花了450元

D.

今天去购物,总共花了280元

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

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

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

18.

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

A.

csv.reader表示以字典的形式写入数据

B.

csv.writer表示以列表的形式返回读取的数据

C.

csv.DictReader表示以列表的形式返回读取的数据

D.

csv.DictWriter表示以字典的形式写入数据

19.

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

A.

一维数据只能是有序

B.

二维数据由多个一维数据构成

C.

二维数据只能由二维列表表达

D.

一维数据只能一维列表表示

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

去掉最后一行的db.commit(),对程序有影响

B.

list数据表中有两个字段id和name

C.

student. db文件中有一张名为list的数据表

D.

list数据表中没有记录

21.

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

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

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

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

['哈密瓜','香瓜','无籽西瓜’,'水晶葡萄\n奶油富士','火龙果','百香果']

B.

['哈密瓜','香瓜','无籽西瓜','水晶葡萄','奶油富士','火龙果','百香果']

C.

['哈密瓜,香瓜,无籽西瓜,水晶葡萄,奶油富士,火龙果,百香果']

D.

['哈密瓜','香瓜','无籽西瓜','水晶葡萄','\n','奶油富士','火龙果','百香果']

22.

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

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

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

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

A.

i

B.

i[0]

C.

i[1]

D.

i[2]

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

程序实现的功能是?()

A.

查询成绩大于60分的人的名字

B.

查询成绩小于60分的人的名字和成绩

C.

查询并输出成绩小于60分的人的名字和成绩

D.

查询并输出成绩大于60分的人的名字和成绩

24.

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

A.

<对象>.<变量>

B.

<对象>.方法

C.

<类名>.<变量>

D.

<类名>.方法

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

当前窗口的名称为ListBox

B.

当前窗口有一个按钮,名字为print selection

C.

当前窗口列表框中有"second"数据项

D.

当前窗口列表框中共有9条数据项

二、判断题

1.

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

A.正确 B.错误
2.

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

A.正确 B.错误
3.

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

A.正确 B.错误
4.

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

A.正确 B.错误
5.

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

A.正确 B.错误
6.

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

A.正确 B.错误
7.

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

A.正确 B.错误
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))。

A.正确 B.错误
9.

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

A.正确 B.错误
10.

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

A.正确 B.错误
公众号
客服 反馈
顶部