2023年9月青少年软件编程(Python) 等级考试试卷(六级)

2023.9青少年软件编程(Python) 等级考试试卷(六级)
分数: 100 题数: 38
一、 单选题(共 25 题, 共 50 分)
1. 以下选项中, 不是 tkinter 变量类型的是? ( )
A. IntVar()
B. StringVar()
C. DoubleVar()
D. FloatVar()
标准答案: D
试题解析: tkinter 无 FloatVar()变量类型。

2. 关于 tkinter, 以下说法错误的是? ( )
A. Label 是签控件, 可以显示文本和位图
B. Radiobutton 是发送消息控件
C. Text 是文本控件, 用于显示多行文本
D. Button 是按钮控件, 在程序中显示按钮

标准答案: B
试题解析: Radiobutton 单选按钮控件。

3. 以下程序中, a= Spinbox(win1,from_=10,to=100)的作用是? ( )
from tkinter import *
win1= Tk()
a= Spinbox(win1,from_=10,to=100)
a.pack()
mainloop()
A. 生成 10-100 之间的随机数
B. 只能选择 10 或者 100
C. 设置窗口尺寸为 10x100
D. 限制输入范围是 10-100 之间, 包含 10 和 100
标准答案: D
试题解析: a= Spinbox(win1,from_=10,to=100)指定输入范围, 包含首尾。


4. 编写一个程序, 如下图所示, 用于计算输入两个数的和, 并通过窗口输出计算结果。 空
白处应补充的代码是? ( )
import tkinter as tk
import tkinter.messagebox
win=tk.Tk()
a=tk.IntVar()
b=tk.IntVar()
def jia():
a1=a.get()
b1=b.get()
tk.messagebox.showinfo(message=str(a1)+'+'+str(b1) +'=' + str(a1+b1))
c=tk.Entry(win,textvariable=a)
d=tk.Entry(win,textvariable=b)
ok=tk.Button(win,text='+',command=_________)
c.place(x=10,y=10,width=80,height=20)
d.place(x=10,y=40,width=80,height=20)
ok.place(x=10,y=80,width=50,height=20)
win.mainloop()
A. add
B. plus
C. jia()
D. jia
标准答案: D
试题解析: 运行自定义函数


5. 假设你正在开发一个电子商务网站, 你需要存储用户订单信息。 需要创建一个名为
orders 的表, 下面哪个 SQL 语句最合适? ( )
A. CREATE TABLE orders (id INTEGER PRIMARY KEY, user_id INTEGER, product_name TEXT,
quantity INTEGER, price REAL)
B. CREATE TABLE orders (user_id INTEGER, product_name TEXT, quantity INTEGER, price
REAL)
C. CREATE TABLE orders (id INTEGER PRIMARY KEY, user_id INTEGER, product_name TEXT)
D. CREATE TABLE orders (id INTEGER, user_id INTEGER, product_name TEXT, quantity
INTEGER, price REAL)
标准答案: A
试题解析: 选项 A 包含了所有必要的列(ID、 用户 ID、 产品名称、 数量和价格) , 并将 ID
列设置为主键。 因此, 正确答案是 A。


6. 以下哪个 Python 代码片段正确地执行了一个 SQL 查询并获取了所有结果? ( )
A. cursor.execute("SELECT * FROM students")
results = cursor.scroll()
B. cursor.execute("SELECT * FROM students")
results = cursor.fetchall()
C. results = cursor.execute("SELECT * FROM students").fetchone()
D. cursor.begin("SELECT * FROM students")
results = cursor.fetchmany()
标准答案: B
试题解析: 正确答案:B。 要执行一个 SQL 查询并获取所有结果, 首先使用游标的 execute()
方法执行查询, 然后使用 fetchall()方法获取所有结果。


7. 在使用 SQLite 数据库时, 游标的主要作用是? ( )
A. 管理数据库连接
B. 用于数据库的备份和恢复
C. 储存数据库的表结构
D. 执行 SQL 查询并获取结果
标准答案: D
试题解析: 正确答案: D。 游标(Cursor) 是 SQLite 数据库中用于执行 SQL 查询并获取结果
的对象。 游标可以执行各种 SQL 命令, 如 SELECT、 INSERT、 UPDATE 和 DELETE, 并通过如
fetchone()、 fetchmany()、 fetchall()等方法获取查询结果。


8.给定以下 Python 代码, 连接到一个 SQLite 数据库并查询表 students。 请问, 查询结果中
包含多少个学生? ( )
import sqlite3
conn = sqlite3.connect(":memory:")
cursor = conn.cursor()
cursor.execute("""
CREATE TABLE students (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
score INTEGER NOT NULL
);
""")
cursor.execute("INSERT INTO students (name, score) VALUES ('小明', 90)")
cursor.execute("INSERT INTO students (name, score) VALUES ('小芳', 85)")
cursor.execute("INSERT INTO students (name, score) VALUES ('轩轩', 92)")
cursor.execute("INSERT INTO students (name, score) VALUES ('乐乐', 88)")
conn.commit()
cursor.execute("SELECT * FROM students WHERE score >= 90")
result = cursor.fetchall()
conn.close()
print(result)
A. 0
B. 1
C. 2
D. 3

标准答案: C
试题解析: 正确答案: C。 该代码首先创建了一个 SQLite 数据库并创建了一个名为 students
的表。 表中有 4 条学生记录, 分别为小明、 小芳、 轩轩 和 乐乐。 然后查询分数大于等于
90 的学生, 结果为 小明 和 轩轩, 共 2 个学生。


9. 在一个 Python 表示的二维数组 b=[[3,5,9,4],[5,1,6,11],[2,1,6,6]]的第三列位置插入一列新
的数据后,能够实现访问该数组中数据 11 的语句是? ( )
A. b[1][3]
B. b[2][3]
C. b[2][1]
D. b[1][4]
标准答案: D
试题解析: 题目要求插入的是一列数据,也就是在该二维数组中,每一行都多出一个数据,且该
数据排列在第三位,也就是下标为 2 的位置上,原本在该位置的数据及其之后的数据都需要后
移。 原数组中数据 11 在 b[1][3]的位置,所以后移后数据 11 的位置变为 b[1][4]。


10. 假设有一个名为"Person"的类, 如何创建一个名为"john"的类的实例? ( )
A. person = Person()
B. person = john.Person()
C. john = Person()
D. john = person.Person()
标准答案: C
试题解析: 使用类名后跟括号, 可以调用类的构造函数创建实例。 在这个例子中, 使用
"Person()"创建了一个名为"john"的实例。


11.运行以下 Python 代码, 结果是? ( )
class Person():
def __init__(self, name, age):
self.name = name
self.age = age
def say_hello(self):
print(f"Hello, my name is {self.name}. I am {self.age} years old.")
person1 = Person("Alice", 25)
person2 = Person("Bob", 30)
person1.say_hello()
A. Hello, my name is Alice. I am 25 years old.
B. Hello, my name is Bob. I am 30 years old.
C. Hello, my name is Bob. I am 25 years old.
D. Hello, my name is Alice. I am 30 years old.
标准答案: A
试题解析: 代码中, 定义了一个名为 Person 的类。 这个类有一个初始化方法__init__, 用于
设置实例的属性 name 和 age。 还有一个类方法 say_hello, 用于打印实例的名字和年龄。 然
后, 创建了两个 Person 类的实例 person1 和 person2, 并通过调用实例的方法 say_hello 来输
出实例 person1 的信息。


12. 下面定义类的方法正确的是? ( )
A. def cat()
B. def Cat()
C. class cat()
D. class Cat()

标准答案: D
试题解析: 定义了一个名为 Cat 的类, 类名的首字母必须大写, 后面跟圆括号。


13.运行以下 Python 代码, 结果是? ( )
class Parent():
def __init__(self, name):
self.name = name
def greetings(self):
print("Parent: Hi, I'm", self.name)
class Child(Parent):
def greetings(self):
super().greetings()
print("Child: Hello!")
parent = Parent("Alice")
child = Child("Bob")
child.greetings()
A.
Parent: Hi, I'm Alice
Child: Hello!
B. Parent: Hi, I'm Bob.
Child: Hello!
C.
Parent: Hi, I'm Bob
D.
Child: Hello!


标准答案: B
试题解析: 代码中, 定义了一个 Parent 类和一个 Child 类, Child 类继承自 Parent 类。 Child
类中的 greetings 方法使用 super()函数调用了父类 Parent 的方法, 并在其基础上添加了额外
的逻辑 print("Child: Hello!")。

更多内容请查看网站:

网站链接   【试卷中心 ---Python ---五级/六级/其他】

青少年软件编程历年真题模拟题实时更新 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

No0d1es

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值