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

2024年12月电子学会青少年软件编程(Python六级)等级考试试卷
操作/编程 六级 2024 2025-02-14 19:40:02 109

一、编程题

1.

登陆情况

编写一段程序,记录用户的登陆情况。已知程序目录下建立了文件1.txt,第一行内容为:admin,第二行内容为:123abc。运行以下程序几次后,打开1.txt,其内容如图所示,请补全代码。

import datetime

import shutil


# /data 目录为共享目录,只读

# ./目录为用户沙盒目录可写

shutil.copyfile('/data/1.txt', "./1.txt")


with open('1.txt','r+') as f:

    a=f.readline()

    b=f.readline()

    c=        ①        

    d=        ②        

    if        ③         :

       now = datetime.datetime.now()

       f.write('\n')

       f.write(str(now))

       f.write('登陆成功')

       print('登陆成功')

    else:

       now = datetime.datetime.now()

       f.write('\n')

       f.write(str(now))

       f.write('尝试登陆失败。')

       f.write('\n用户名:')

       f.write(str(c))

       f.write('密码:')

       f.write(str(d))

       print('登陆失败')

    f.close()

2.

图书管理系统

创建一个简单的图书管理系统,来帮助图书馆管理他们的图书收藏。系统中的主要对象是图书(Book)和图书馆(Library)。每本图书有书名(title)和作者(author)这两个属性,以及一个显示图书信息的方法。图书馆有一个收藏图书的列表,以及添加图书和显示所有图书信息的方法。

在这个系统中,你需要:

(1)创建一个名为Book的类,它包含初始化方法__init__,接受书名和作者作为参数,并分配给实例变量。它还包含一个名为display_info的方法,用于打印书名和作者的信息。

(2)创建一个名为Library的类,它有一个名为books的实例变量,初始化为空列表。这个类还包含两个方法:add_book(接受一个Book实例并将其添加到集合中)和display_books(打印图书馆中所有图书的信息)。

请根据描述完成代码:

class Book:

    def __init__(self, title, author):

        self.title = title

        self.author =        ①        

   def display_info(self):

        print(f"Title: {self.title}, Author: {self.author}")

class Library:

    def __init__(self):

        self.books = []

   def add_book(self, book):

                ②        .append(book)

   def display_books(self):

        for book in         ③        :

            book.        ④        ()

# 示例代码

book1 = Book("Python Programming", "John Doe")

book2 = Book("Learning OOP in Python", "Jane Doe")

lib = Library()

lib.add_book(book1)

lib.add_book(book2)

lib.display_books()

3.

学生数据库

设计一个SQLite数据库应用,实现以下功能:

创建一个名为students的表,该表具有id(主键,自增)、name、age和grade四个字段。

①插入5条学生记录。

②修改一个学生的年龄。

③删除一个学生记录。

④查询所有学生的信息。

请根据要求,补全代码。(本题无需运行通过,写入代码即可)


import sqlite3  

# 连接到SQLite数据库(如果数据库不存在,则会创建一个新的数据库)  

conn = sqlite3.connect('students.db')  

cursor =         ①        

  

# 创建students表  

cursor.execute('''CREATE TABLE IF NOT EXISTS students (  

    id INTEGER PRIMARY KEY AUTOINCREMENT,  

    name TEXT NOT NULL,  

    age INTEGER,  

    grade TEXT)  

''')  

  

# 插入5条学生记录  

students = [  

    ('Alice', 20, 'A'),  

    ('Bob', 22, 'B'),  

    ('Charlie', 19, 'C'),  

    ('David', 21, 'A'),  

    ('Eva', 23, 'B')  

    ]  

cursor.executemany('''INSERT INTO students (name, age, grade) VALUES (?, ?, ?)  

    ''',         ②        )  

# 修改一个学生的年龄(例如修改id为2的学生的年龄为24)  

cursor.execute("UPDATE students SET age = 24 WHERE id = 2")  

# 删除一个学生记录(例如删除id为3的学生)  

cursor.execute("DELETE FROM students WHERE id = 3")

        ③        

# 查询所有学生信息  

cursor.execute('SELECT * FROM students')  

print("所有学生信息:")  

for row in         ④        :

    print(row) 

# 关闭数据库连接  

conn.close()  

公众号
客服 反馈
顶部