试卷总分:100分


选择题 25题 50分

01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25


判断题 10题 20分

26 27 28 29 30 31 32 33 34 35


编程题 3题 30分

36 37 38

E1061 电子学会青少年软件编程等级考试-Python -202606Python六级真题-考试

选择题 共25道

01 下面Python代码的输出结果正确的是?( ) class MyClass: class_at = 10 MyClass.class_at = 20 print(MyClass.class_at) 2分
登录后查看选项
02 有如下类的定义,创建实例时哪一行代码会导致错误?( ) class Vehicle: def __init__(self, brand): self.brand = brand def honk(self): print(f"{self.brand} says Honk!") 2分
登录后查看选项
03 在Python类中,定义一个方法时,其第一个参数通常命名为self,这个参数代表什么?( ) 2分
登录后查看选项
04 下面数据文件如图所示,执行代码后数据文件内容正确的是?( ) import sqlite3 conn = sqlite3.connect('example.db') conn.execute("DELETE FROM employees where age=30") conn.commit() conn.close() 数据文件内容: image1.png 2分
登录后查看选项
05 Python中执行SQL查询,下列哪个选项的方法能从结果中取一条记录,并将游标指向下一条记录?( ) 2分
登录后查看选项
06 下面代码的运行后输出JSON文件内容正确的是?( ) import json stu = [{'name':"John",'sex':"man","adress":"Ottawa"}] with open("stu.json", "w") as outfile: json.dump(stu, outfile) 2分
登录后查看选项
07 有如下Python程序段,执行后arr的形状(shape)是?( ) import numpy as np arr = np.arange(12).reshape(3, 4) arr = arr[1:, :2] 2分
登录后查看选项
08 关于CSV文件的描述,如下选项中正确的是?( ) 2分
登录后查看选项
09 在Python中使用numpy.arange(5)创建数组,得到的结果是?( ) 2分
登录后查看选项
10 Python中的列表(list)在转换为JSON时,对应的是什么类型?( ) 2分
登录后查看选项
11 关于Python类,说法错误的是?( ) 2分
登录后查看选项
12 要将一个tk.Label组件的文本内容设置为“欢迎”,且字体为“宋体”,大小为12,正确的代码是?( ) 2分
登录后查看选项
13 若运行py文件,一定要调用mainloop()方法进入主循环,才能看到顶层窗口,关于顶层窗口的说法,错误的是?( ) 2分
登录后查看选项
14 在tkinter中,要使一个按钮btn在点击时调用函数on_click,最适合的设置是?( ) 2分
登录后查看选项
15 在tkinter中,哪个布局管理器可以通过row和column参数来精确指定组件的位置?( ) 2分
登录后查看选项
16 小明为学校图书馆的数据库编写一个查询,找出所有在2015年之后出版且评分超过8分的图书。图书信息存储在books表中,该表包括title(标题)、publish_year(出版年份)和rating(评分)等字段。以下哪个SQL查询语句最适合实现小明的需求?( ) 2分
登录后查看选项
17 李华正在开发一个图书管理系统,使用SQLite数据库来存储图书信息。他需要编写代码来查询数据库,并根据不同的需求获取查询结果。假设他已经执行了一个查询语句来选择图书表(books)中的所有记录。现在,他面临三种不同的情况,每种情况需要使用不同的方法来获取数据: 1.获取查询结果的第一条记录。 2.获取查询结果的前三条记录。 3.获取查询结果中的所有记录。 请问,李华应该分别使用哪个游标对象的方法来满足上述每种情况的需求?( ) 2分
登录后查看选项
18 执行以下Python代码后,文件output.txt中的内容是什么?( ) with open('output.txt', 'w') as f: f.write('Line1\n') f.write('Line2') with open('output.txt', 'a') as f: f.write('\nLine3') 2分
登录后查看选项
19 以下Python代码片段中,file.read()将返回什么内容?( ) with open('example.txt', 'r') as file: content = file.read() 2分
登录后查看选项
20 已知文件abc.txt只有一行,内容为:"hello,python"。运行以下Python程序,输出结果是?( ) with open("abc.txt",'r') as f: print(f.read(2)) f.seek(6) print(f.read(2)) 2分
登录后查看选项
21 以下Python代码在尝试读取一个不存在的文件时会发生什么情况?( ) content = open('nonexistent.txt', 'r').read() 2分
登录后查看选项
22 使用Python的matplotlib绘制图形时,plt.legend()函数的作用是?( ) 2分
登录后查看选项
23 运行以下Python代码的输出是?( ) import numpy as np arr = np.array([1, 2, 3, 4, 5]) result = np.mean(arr) print(result) 2分
登录后查看选项
24 以下Python代码的输出是?( ) import numpy as np arr = np.array([[1, 2], [3, 4]]) result = np.sum(arr, axis=0) print(result) 2分
登录后查看选项
25 下列Python代码使用Matplotlib库绘制了一个什么样的图形?( ) import matplotlib.pyplot as plt x = [1, 2, 3, 4, 5] y = [1, 4, 9, 16, 25] plt.plot(x, y) plt.show() 2分
登录后查看选项

判断题 共10道

26

用Python编程绘制如下图形,需要用到plt.scatter(x, np.sin(x))语句。( )

image6.png

标准答案:错误

2分
登录后查看选项
27

如下程序所示,定义类时,如果没有属性,可以省略def __init__(self)语句。( )

class Car():

def left(self):

print("左转")

def right(self):

print("右转")

c=Car()

c.left()

2分
登录后查看选项
28

运行以下Python程序,一定会生成如下图所示的窗体。( )

image7.jpeg

import tkinter as tk

win=tk.Tk()

win.geometry("200x120")

def a():

win.quit()

win.destroy()

b=tk.Button(win,text='退出',command=a,width=10,height=2)

win.mainloop()

2分
登录后查看选项
29

以下Python程序可以提取 5 到 9之间的所有数据元素。( )

import numpy as np

a = np. arange(10)

print(a[(a<=9) & (a>=5)])

2分
登录后查看选项
30

在Python中,要想将一个字符串写入一个文件,可以使用write方法,例如f.write('Hello, world!')。( )

2分
登录后查看选项
31

open()函数的'rb+'模式表示以二进制的格式打开一个文件用于读写。文件指针将会放在文件开头。( )

2分
登录后查看选项
32

在Python中,类属性(定义在类内部,但在方法之外)被该类的所有实例共享。( )

2分
登录后查看选项
33

在Python的SQLite中,cursor.close()方法调用后,可以继续使用该游标执行更多的数据库操作。( )

2分
登录后查看选项
34

plt.hist()函数用于绘制数据的直方图,以展示数值数据的分布情况。( )

2分
登录后查看选项
35

numpy数组的切片操作返回的是原数组数据的视图(view),而非副本(copy),修改视图会影响原数组。( )

2分
登录后查看选项

编程题 共3道

36

成绩统计

准备工作:某中学三年级语文模拟考试,班主任王老师最近事情比较多,他用Python编写了一段代码实现本班学生此次成绩的统计。

功能实现:

读取成绩文件cj.csv中的学号、姓名、成绩;

输出全班语文平均成绩(保留2位小数);

统计成绩高于平均分的人数。

image8.png

程序如下,请根据要求,补全代码。

import ①

with open("/data/ ② ") as f:

rows = ③

s=0

c=0

pj=0

for row in rows[1:]:

s=s+int(row[2])

c=c+1

pj=s/c

print( ④ )

for row in rows[1:]:

if( ⑤ ):

print(row[0:3])

试题编号:202606-P6-36

试题类型:编程题

10分
登录后作答
37

学生信息处理

定义一个名为“Student”的类,包含以下属性:姓名、学号、年龄和成绩。要求实现以下功能:

定义一个方法“get_name()”,返回学生的姓名;

定义一个方法“get_age()”,返回学生的年龄;

定义一个方法“get_score()”,返回学生的成绩;

定义一个方法“set_score()”,设置学生的成绩;

定义一个方法“judege”,功能是判断该学生的成绩是否合格,达到60分打印合格,否则打印不合格。

相应Python代码如下所示,请补充完整:

class Student:

def __init__(self, name, student_id, age, score):

self.name = name

self.age = age

self.score = score

def get_name(self):

return self.name

def get_age(self):

return ②

def get_score(self):

return self.score

def set_score(self, new_score):

def judege(self):

if ④ :

print('合格')

else:

print('不合格')

john = Student("John", "2023001", 18, 85)

john.judege()

10分
登录后作答
38 记账系统

创建一个简单的个人支出记账系统,帮助自己监控和管理日常开支。拟使用SQLite数据库来存储支出记录,数据库名为expenses.db,并设计一个表expenses来记录每一笔支出,表中包含三个字段:id(整型,主键自增),category(文本类型,表示支出类别),amount(实数类型,表示支出金额)。

请完善以下Python程序来实现个人支出跟踪的基本功能。

(本题无需运行通过,写入代码即可)

import sqlite3

def create_expenses_table():

connection = sqlite3.connect('expenses.db')

cursor = connection.cursor()

cursor.execute('''

CREATE TABLE IF NOT EXISTS expenses (

id INTEGER PRIMARY KEY AUTOINCREMENT,

category TEXT,

amount REAL

)

''')

connection.commit()

connection. ① ()

def add_expense(category, amount):

connection = sqlite3.connect('expenses.db')

cursor = connection.cursor()

cursor.execute("INSERT INTO expenses (category, amount) VALUES (?, ?)", ( ② , ③ ))

connection.commit()

connection.close()

def fetch_all_expenses():

connection = sqlite3.connect('expenses.db')

cursor = connection.cursor()

cursor.execute("SELECT * FROM expenses")

expenses_records = cursor. ④ ()

for record in expenses_records:

print(record)

connection.close()

# 调用函数

create_expenses_table()

add_expense("Food", 25.5)

add_expense("Transport", 10.75)

fetch_all_expenses()

10分
登录后作答