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

2023年5月电子学会青少年软件编程(Python六级)等级考试试卷
客观题 六级 2023 2023-06-13 16:44:09 39

一、单选题

1.

执行数据库操作的部分代码如下:

import sqlite3
db = sqlite3.connect("test.db")
cur=db.cursor()
cur.execute("create table Student(Sname char(20),Sage SMALLINT);")
db.close()

下列描述正确的是?( )

A.

当前操作的数据库的名称为Student

B.

create table语句的功能是数据库查询

C.

数据表中将会插入2条新记录

D.

当前表中有2个字段

2.

假设“数据.txt”中的内容为:木耳+银耳+牛肉+鸡蛋+香菇,运行下列程序,内容修改为:木耳*银耳*牛肉*鸡蛋*香菇。 代码中空白部分应该填写什么?( ) 

f = open("数据.txt","r")
s= f.read() .split("+")
f =open("数据. txt", "w") 
f.write(______) 
f.close( )
A.

"*".join(s)

B.

s.split(*)

C.

s

D.

s.join(*)

3.

文件“score.csv”中存放了3位同学的成绩数据,小李编写程序读取数据内容,文件内容和程序成功读取界面如图所示。

import csv
csv_reader = csv.reader(open(______))
for row in csv_reader:
     print(______)

上述程序中划线处应填入?( )

A.

score row

B.

score.csv "row"

C.

"score" "row"

D.

"score.csv" row

4.

下列关于类和对象的说法,正确的是?( )

A.

通过def关键字定义类

B.

通过class创建实例

C.

每个对象的数据相同

D.

每个对象拥有相同的方法

5.

关于matplotlib模块中函数的功能,下列描述正确的是?( )

A.

bar()函数用于绘制折线图

B.

plot()函数用于绘制水平柱形图

C.

barh()函数用于绘制垂直柱形图

D.

scatter()函数用于绘制散点图

6.

有下列语句命令:

import sqlite3                   
conn = sqlite3.connect("test.db") # ①
cursor = conn.cursor()            # ②
cursor.close()                    # ③
conn.close()                      # ④

下列关于语句功能解释,正确的是?( )

A.

①创建和连接数据库

B.

②提交事务

C.

③关闭数据库连接

D.

④关闭游标

7.

明明每天坚持背英语单词,他建立了英语单词错题本文件“mistakes.txt”,将每天记错的单词增加到该文件中,下列打开文件的语句最合适的是?( )

A.

f = open("mistakes.txt")

B.

f = open("mistakes.txt","r")

C.

f = open("mistakes.txt","a")

D.

f = open("mistakes.txt","w")

8.

文件exam.txt与以下代码在同一目录下,其内容是一段文本: bigBen, 下列代码的输出结果是?( )

f = open("exam.txt")
print(f)
f.close()


A.

exam.txt

B.

exam

C.

<_ io.TextlOWrapper ..>

D.

bigBen

9.

有如下程序代码:

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)          #  ④

关于上述语句的解释,不正确的是?( )

A.

①处功能为导入csv 库

B.

②处以写方式打开文件

C.

③处创建 csv.writer 实例

D.

④处一次只能写入一行

10.

小张近阶段要学习的英文单词存储在“data.txt”文件,格式如图所示。

处理“data.txt”文件中英文单词的Python程序段如下:

file = open("data.txt")
for word in file:
    if word[0:1] == "c":
        continue
    else:
        print(word)
file.close()

下列关于该程序段的功能,说法正确的是?( )

A.

输出包含"c"(区分大小写)的单词

B.

输出以"c"开头(区分大小写)的单词

C.

输出以"c"开头(不区分大小写)的单词

D.

输出不是以"c"开头(区分大小写)的单词

11.

有如下程序段:

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

执行代码后,下列说法不正确的是?( )

A.

程序创建了2个实例

B.

Student.count的值为0

C.

study为该类的方法

D.

输出的结果为“小红在学习”

12.

在中国,具有中国国籍且年满18周岁的人拥有选举权利,学校想要统计出截止到2022年12月31日年满18周岁的学生名单。

学生的相关信息存储在"stu_info.txt"文件中,存储格式如下:

高一 1|谢乐|340421200606155914

高一 1|岑新奇|330282200407301529

用python编写代码如下:

f=open("stu_info.txt","r",encoding="utf8")
namelist=[ ] #存放年满18周岁的学生名单
for line in f.readlines():
        stu=line.split("|")
        birth=        ①        
        if birth<="20041231":
            namelist.append(        ②        )
print(namelist)

①②两处的代码应填为?( )

A.

① stu[2][6:14] ② stu[1]

B.

① stu[2][6:13] ② stu[1]

C.

① stu[3][6:14] ② stu[2]

D.

① stu[2][-12:-1] ② stu[1]

13.

利用tkinter模块设计一个求“圆面积”的界面,程序中自定义了若干个功能函数和按钮,要求点击“退出”按钮能关闭界面窗口,点击“重置”按钮能重置输入框中的数据,部分程序代码如下:

def cancel():
    var_r.set('')
def tc_quit():
    win.quit()
    win.destroy()

以下哪个选项可以在“退出”按钮中正确调用功能函数?( )

A.

btn_Cancel=tk.Button(win,text='重置',command=tc_quit)

B.

btn_quit=tk.Button(win,text='退出',command=cancel)

C.

btn_quit=tk.Button(win,text='退出',command=tc_quit)

D.

tc_quit=tk.Button(win,text='退出')

14.

下列关于数据可视化的说法,最准确的是?( )

A.

数据可视化是指静态数据的可视化

B.

决定数据可视化的表现形式的是数据结构

C.

可视化探究具有关联性数据的分布关系可用散点图

D.

可视化展现时间趋势类的数据可用雷达图

15.

有如下python程序:

import numpy as np
from matplotlib import pyplot as plt
x=np.arange(-5,5,0.1)
y=np.sin(x)
plt.show()

运行后没有报错但看不到运行结果,原因不可能是?( )

A.

缺少plt.plot()语句

B.

缺少plt.scatter()语句

C.

未正确安装第三方库

D.

电脑卡顿

16.

有如下程序段:

class xcal:
    def __init__(self,numx,numy):
        self.numx=numx
        self.numy=numy
    def xadd(self,another):
        numx=self.numx*another.numx
        numy=self.numy*another.numy
        return xcal(numx,numy)
    def print(self):
        print(str(self.numx)+"/"+str(self.numy))
x=xcal(2,3)

y=x.xadd(xcal(4,5))

y.print()

程序运行后,输出的结果是?( )

A.

6/20

B.

15/8

C.

10/12

D.

8/15

17.

下列选项中能创建文本框的是?( )

A.

tkinter.Text()

B.

tkinter.Tk()

C.

tkinter.Button()

D.

tkinter.Label()

18.

下列不属于对象构成成份的是?( )

A.

标识

B.

属性

C.

方法(或操作)

D.

规则

19.

有如下Python程序段:

n=4
a=[[i*n+j+1 for j in range(n)]for i in range(n)]
for i in range(n//2):
    for j in range(1,n,2):
        a[i][j],a[n-i-1][n-j-1]=a[n-i-1][n-j-1],a[i][j]

则程序执行后,a[1][1]和a[2][0]的值分别是?( )

A.

6和9

B.

8和9

C.

11和9

D.

11和8

20.

commit()函数是提交数据库操作的命令函数,下列不需要执行该函数的数据库操作的是?( )

A.

查询操作

B.

增加操作

C.

修改操作

D.

删除操作

21.

用Python语句创建sQLite数据库,代码如下:

import sqlite3
conn= sqlite3.connec("test2.db")
c=conn.cursor()
c.execute("CREATE TABLE STUDENTS(ID INT,AGE INT,NAME TEXT)")
c.execute("INSERT INTO STUDENTS(ID, AGE,NAME) VALUES(2,16,'LISA')")
c.execute("UPDATE STUDENTS set AGE=18 where it,ID=2")
conn.commit()
c.close()
conn.close()

程序运行后,AGE列的值是?( )

A.

2

B.

16

C.

LISA

D.

18

22.

小李设计一个显示加、减、乘、除的单选框界面,代码如下:

import tkinter
from tkinter import *
root = Tk()
v = IntVar()
calcs = [ ('+', 1),    ('-', 2),    ("*", 3),    ("/", 4),]
for calc, num in calcs:
    # 设置单选框,用来显示运算符
Radiobutton(text = calc,variable =v,value=num).grid(row=num-1, column=1)
root.mainloop()

运行后的界面是?( )

A.

B.

C.

D.

23.

小萌要用tkinter制作一个单击按钮,输出“Hello World!”的打招呼程序,语句如下:

import tkinter as tk       
window = tk.Tk()
window.title("Python GUI") # ①
window.geometry("600x100") 
window.mainloop()

程序中①处语句的功能是?( )

A.

创建窗口对象

B.

设置窗口标题

C.

设置窗口大小

D.

使用窗口对象

24.

Python程序如下:

from random import random
a=[0]*7
flag=[False]*10
i=1
while i<=6:
    a[i]=int(random()*5)*2+1
    if flag[a[i]]==False or a[i]>a[i-1]:
        flag[a[i]]=True
        i=i+1

该程序段运行后,列表a的值可能为?( )

A.

[0, 7, 5, 9, 7, 1, 7]

B.

[0, 1, 3, 5, 7, 9, 1]

C.

[0, 9, 2, 3, 5, 7, 5]

D.

[0, 9, 5, 9, 7, 9, 1]

25.

绘制sin(x)的图形如图所示,画线处的语句是?( )

 

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

二、判断题

1.

如果在子类中实现了一个公有方法,该方法也能调用继承的父类中的私有方法和私有属性。( )

A.正确 B.错误
2.

用readlines()函数读取文本文件内容,返回的是一个列表,其中每一行的数据为一个元素。( )

A.正确 B.错误
3.

使用tkinter设计窗体时,Text控件的属性包含bg、font、bd和command。( )

A.正确 B.错误
4.

类(class)由类名、属性和方法三个部分构成。( )

A.正确 B.错误
5.

使用Python语言对SQLite数据库进行操作,实现打开和关闭名为test.db数据库文件。有下列语句命令:

①conn = sqlite3.connect("test.db")

②cur = conn.cursor( )

③import sqlite3 

④conn.close( ) 

⑤cur.close( ) 

要实现上述功能,上述语句执行的先后顺序正确是③①②⑤④。( )

A.正确 B.错误
6.

以下程序可以提取 5 到 10 之间的所有元素。( )

import numpy as np 
a = np. arange(15) 
print(a[(a<=10) & (a>=5)])
A.正确 B.错误
7.

CSV文件一般以英文逗号分隔元素。( )

A.正确 B.错误
8.

numpy.linspace(1,10,10)用于产生从1到9的一维数组。( )

A.正确 B.错误
9.

JSON的loads和load方法的区别是,loads操作的是字符串,load操作的是文件流。( )

A.正确 B.错误
10.

如果没有采用close()关闭文件,Python程序退出时文件将不会自动关闭。( )

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