2024 年 3 月青少年软件编程 Python 等级考试试卷六级真题(含答案和解析)
分数:100 题数:38
一、单选题(共 25 题,共 50 分)。
1. 以下选项中,创建类正确的是?()
A. class test1:
def prt(self):
……
B. class Mg():
def __init__(na, ag):
self.na = na
C. class A():
def print(self):
print("Yes")
a=A()
a.print()
D. class 3Point:
def __init__( self):
……
标准答案:C。
试题解析:类的名称遵守变量命名规则的同时,首字母必须大写。
2.运行以下程序,输出结果是?()
class A():
def __init__(self,x):
self.x=x
def add1(self):
return self.x+self.x
t1=A(3)
t2=A(t1.add1())
print(t2.add1())
A. 10
B. 12
C. 程序报错
D. 6
标准答案:B。
试题解析:t1.add1()=3+3+3+3。
3. 运行以下程序,输出的结果是?()
class T():
def __init__(self):
self.a=1
def t1(self,b):
self.a=b+b
c=T()
c.a=c.a+c.a
c.t1(5)
print(c.a)
A. 2
B. 12
C. 10
D. 6
标准答案:C。
试题解析:self.a=b+b,自定义类的使用,t1(5)=b+b=5+5。
4. 要将一个数组[1,2,3,4,5]绘制成折线图,代码是?()
A. import matplotlib.pyplot as plt
plt.plot([1,2,3,4,5])
plt.show()
B. import numpy as np
import matplotlib.pyplot as plt
plt.plot(np.array(1,5))
plt.show()
C. import matplotlib.pyplot as plt
plt.bar([1,2,3,4,5])
plt.show()
D. import matplotlib.pyplot as plt
plt.scatter([1,2,3,4,5])
plt.show()
标准答案:A。
试题解析:正确选项:A。使用 matplotlib.pyplot 的 plt.plot()方法绘制折线
图。
5. 要生成一个 3*4 的数组,并计算数组中偶数值之和,代码是?()
A. import numpy as np
arr = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
np.sum(arr[arr%2==0])
B. import numpy as np
arr = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
np.sum(arr[:,arr%2==0])
C. import numpy as np
arr = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
np.sum(arr[np.get(arr%2==0)])
D. import numpy as np
arr = np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])
np.sum(arr[arr.even()])
标准答案:A。
试题解析:使用 np.array()生成数组,np.sum()计算和,arr%2==0 提取偶数值,
所以选择 A 选项。
6. 在使用 matplotlib 库绘制图形时,如何设置 x 轴和 y 轴的标签?()
A. plt.title()和 plt.legend()
B. plt.set_xlabel()和 plt.set_ylabel()
C. plt.xlabel()和 plt.ylabel()
D. plt.xticks()和 plt.yticks()
标准答案:C。
试题解析:plt.xlabel()和 plt.ylabel()函数分别用于设置 x 轴和 y 轴的标签。
plt.set_xlabel()和 plt.set_ylabel()在使用面向对象的方法绘图时,用于设
置轴标签。plt.title()设置图形的标题。plt.legend()显示图例。
plt.xticks()和 plt.yticks()设置 x 轴和 y 轴的刻度。
7. 关于 matplotlib 函数的功能,下列描述错误的是?()
A. bar()函数用于绘制垂直柱形图
B. plot()函数用于绘制线形图
C. barh()函数用于绘制饼形图
D. scatter()函数用于绘制散点图
标准答案:C。
试题解析:bar()函数用于绘制垂直柱形图,plot()函数用于绘制线形图,
barh()函数用于绘制水平柱形图,因此,ABC 选项均错;scatter()函数用于绘
制散点图,因此,答案为 C。
8. 下列哪个选项是有效的 JSON 格式?()
A. {'name':'Alice', 'age':25, 'city':'New York'}
B. {name:"Alice", age:25, city:"New York"}
C. {"name":"Alice", age:25, city:'New York'}
D. {"name":"Alice", "age":25, "city":"New York"}
标准答案:D。
试题解析:在 JSON 中,键和字符串值都应该使用双引号(")包围,而不是单
引号(')。因此,选项 A、B、C 都不是有效的 JSON 格式。选项 D 中的双引号
使用正确,并且键和字符串值都被正确包围,是有效的 JSON 格式。
9. 下列关于数据的说法,不正确的是?()
A. 一维数据可由列表表示,也可用集合表示。
B. 二维数据由多个一维数据构成。
C. 二维数据可由二维列表表达,也可由表格或 csv 格式的文件表达。
D. 一维数据采用线性方式组织,是有序的。
标准答案:D。
试题解析:一维数据由对等关系的有序或者无序数据构成。
10. 下面代码的输出结果正确的是?()
import json
json_str = '{"name": "Alice", "age": 25, "city": "New York"}'
data = json.loads(json_str)
print(data)
A. {"name": "Alice", "age": 25, "city": "New York"}
B. {'name': 'Alice', 'age': 25, 'city': 'New York'}
C. [{'name': 'Alice', 'age': 25, 'city': 'New York'}]
D. ['name': 'Alice', 'age': 25, 'city': 'New York']
标准答案:B。
试题解析:这段代码将 JSON 字符串用 json.loads()解码为 Python 对象并输出。
11. 下面代码的输出结果正确的是?()
import json
data = {
"name": "Alice",
"age": 25,
"city": "New York"
}
text = json.dumps(data)
print(text)
A. ["name": "Alice", "age": 25, "city": "New York"]
B. {'name': "Alice", 'age': 25, 'city': "New York"}
C. {"name": "Alice", "age": 25, "city": "New York"}
D. {'name': 'Alice', 'age': 25, 'city': 'New York'}
标准答案:C。
试题解析:这段代码将 Python 对象用 json.dumps()编码为 JSON 字符串并输出。
12. 有关 JSON(JavaScript Object Notation)的概念,正确的是?()
A. 是一 种 数据 交换 格式
B. 是一 种 编程 语言
C. 是一 种 数据库
D. 是一 种 算法
标准答案:A。
试题解析:JSON 是一 种基 于文 本 的 轻 量级数据 交换 格式, 具 有 易读 、 易 写的 特
点。 它常 用于将数据 从 一个应用程序或平 台传 输 到另 一个应用程序或平 台 。由
于 其简洁 性和 普遍 性,JSON 已经 成为 了互联网上 数据 交换 的 常 用格式。
13.使用 tkinter 设置一个 按钮 ,将 按钮放 置在 窗口最 下方,则 划 线 处 的代码为?
()
from tkinter import *
root = Tk()
root.geometry('300x200')
root.title('my window')
btn1 = Button(root,text=' 按钮 1',bg='red')
__________
root.mainloop()
A. btn1.pack(side=TOP)
B. btn1.pack()
C. btn1.pack(side=BOTTOM)
D. btn1.pack(side='')
标准答案:C。
试题解析:side=BOTTOM 由下 往上布 置。
14.以下代码 实现 将 鼠 标 移到按钮上 时 按钮 变 红 , 鼠 标 移开 时 按钮 变 蓝 , 划 线 处
的代码是?()
from tkinter import *
root = Tk()
root.title( )
root.geometry('450x350')
btn1 = Button(root,text = '1')
btn1.place(x =200,y = 50,width = 40,height = 40)
def changebg(event):
# 鼠 标 移到按钮上按钮 变 红
event.widget['bg'] = 'red'
def changebg1(event):
# 鼠 标 离开按钮上按钮 变 蓝
event.widget['bg'] = 'blue'
____________
btn1.bind(' <L eave > ',changebg1)
root.mainloop()
A. btn1.bind()
B. btn1.bind(' <E nter > ',changebg)
C. btn1.bind(' <E nter > ',changebg1)
D. btn1.bind(' < Button - 1 > ',changebg1)
标准答案:B。
试题解析:btn1.bind(' <E nter > ',changebg)可以 实现移动到按钮上按钮 变 红 。
15.以下代码 实现 点 击“ 点 我”按钮 , 弹 出 信息“ give flower ” , 划 线 处 的代
码是?()
import tkinter as tk
import tkinter.messagebox
from tkinter import *
root = Tk()
bt = Button(root)
bt['text'] = '点 我 '
bt.pack()
def dianji(event):
tk.messagebox.showinfo('message','give flower')
bt.bind(' < Button - 1 > ', )
root.mainloop()