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

2022年12月电子学会青少年软件编程(Python六级)等级考试试卷
操作/编程 六级 2022 2023-01-09 19:34:46 70

一、编程题

1.

编程定义一个类,实现求长方体体积,并输出当长方体的长度、宽度和高度分别为10、20和30时的体积,请保留小数点后两位数字。

请补全代码:

class Box():

    def __init__(           ①           ):

                   ②           =length1

                   ③           =width1

                   ④           =height1

    def volume(self):

        return            ⑤           

my_box=Box(10,20,30)

print("长方体体积是%.2f"%my_box.volume())

2.

小强建立了一个简易的学生信息系统,使用SQlite进行数据的增加记录和修改记录操作,存储数据,每位学生的记录包含id、name和age这3个字段。程序运行界面如图所示。

程序运行时,显示数据库students.db中的数据表users中的所有记录,用户输入1表示增加记录,输入id、name和age后,记录将增加到数据库中。用户输入2表示修改记录,输入id、name和age后,根据id修改对应的name 和age的值。

程序代码如下:

import sqlite3

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

cursor = con.cursor()

cursor.execute('''

               CREATE TABLE IF NOT EXISTS users(  id     int(8) primary key,

                name   varchar(18),

                age    int(8))

                ''')

cursor.close()

con.commit()

con.close()

def user_insert(user_id, user_name, user_age):

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

    cursor = con.cursor()

    cursor.execute("insert into users (id,name,age) values (?,?,?)", (user_id, user_name, user_age))

    cursor.close()

    con.commit()

    con.close()


def user_select():

    con = sqlite3.connect('           ①           ')

    cursor = con.cursor()

               ②            ('select * from users')

    print(cursor.fetchall())

    cursor.close()

    con.close()

def user_update(user_id, user_name, user_age):

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

    cursor = con.cursor()

    cursor.execute('UPDATE users SET name=?,age=? WHERE id =?',(user_name, user_age,user_id))

    cursor.close()

    con.commit()

    con.close()

print("------------学生信息系统样例------------")

while True:

               ③          

    s = int(input("请输入操作符:1-增加记录,2-修改记录,3-退出系统"))

    if            ④           :

         break

    user_id = int(input("请输入id:"))

    user_name = input("请输入name:")

    user_age = input("请输入age:")

    if s == 1:    # 增加记录

                  ⑤           

        print("插入成功!")

elif s == 2:  # 修改记录

        user_update(user_id, user_name, user_age)

        print("修改成功!")

请在画线处填入正确的代码。

3.

当前,我国正在开展新型冠状病毒疫苗接种,自今年 2 月份以来,许多学校的教职员工积极利用空余时间,到当地卫健部门指定的接种点去接种,为了帮助政教员小叶排摸全校教职员工接种情况,根据每天汇总的接种登记表(包含全校教职员工的姓名、组别、年龄、是否接种等信息,已转换为csv格式,见图1”),小徐利用 Python 编写了一个统计程序,方便向校领导汇报各教研组接种情况及全校接种比例等。该程序运行的部分界面如图2所示,请在程序划线处填入合适的代码。

图1

图2

import csv

f = open("/data/vi.csv", "r")

Vac_T = {"语文组": 0, "数学组": 0, "英语组": 0, "物理组": 0, "化学组": 0, "生物组": 0, "政治组":0,"历史组":0,"地理组":0,"技术组":0,"体音美组":0,"后勤组":0,"政教组": 0}

Vac_F = {"语文组": 0, "数学组": 0, "英语组": 0, "物理组": 0, "化学组": 0, "生物组": 0, "政治组":0,"历史组":0,"地理组":0,"技术组":0,"体音美组":0,"后勤组":0,"政教组": 0}

list1 =[] 

zrs = 0

zu_max = 0

line = f.readline()

while line:

    line = line.strip('\n')

    data = line.split(",")

    list1.append(data)

              ①           

print(list1[:5])

print("--------------------------------------------")

f.close()  

num = len(list1)

for i in range(num):

    line_list = list1[i]  

    if            ②           :

        Vac_T[line_list[1]] += 1

    else:

        Vac_F[line_list[1]] += 1

for i in Vac_T:

    zu_per = Vac_T[i]/(Vac_T[i]+Vac_F[i])  

    if zu_per > zu_max:

        zu_max = zu_per

        zu = i

               ③          

tot_per = int(zrs/num*10000+0.5)/100

print("各组接种人数:", Vac_T)

print("各组未接种人数:", Vac_F)

print("全校接种比例:", tot_per)

print("接种疫苗比例最高的组:", zu)

公众号
客服 反馈
顶部