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

2023年5月电子学会青少年软件编程(Python六级)等级考试试卷
操作/编程 六级 2023 2023-06-12 16:37:24 79

一、编程题

1.

创建一个学生类,存储学生的姓名、语文成绩、英语成绩和数学成绩,根据成绩计算相应的等级,成绩≥90为'A',成绩∈[80,90]为'B',成绩∈[60,80]为'C',成绩≤60为'D'。创建一个班级类,该类有班级名称和学生2个属性,显示班级所有学生的姓名及相应的等级。程序运行效果如下图所示。

程序代码如下:

class stu:
    def __init__(self,name,chinese,english,math):
        self.name=name
        self.c= chinese
        self.e= english
                ①        
        lis=[self.c,self.e,self.m]
        self.lis=lis
    def level(self):
        for i in range(3):
            if         ②        :
                self.lis[i]='A'
            elif  self.lis[i]>80:
                self.lis[i]='B'
            elif  self.lis[i]>60:
                self.lis[i]='C'
            else:
                self.lis[i]='D'
        return self.lis
    def show(self):
        print(f'姓名:{self.name},等级:{        ③        }')
class lesson:
    def __init__(self, name, students=[]):
        self.students = students
        self.class_name = name
    def show_student(self):
        for stu in self.students:
                    ④        
students = [ stu('jack',90,80,90),
             stu('candy',95,88,69),
             stu('cindy',66,76,39),
             stu('frank',61,87,44),
             stu('tony',20,65,49)]
class1 = lesson("高一(1)班",students)
        ⑤


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

2.

使用Python的sqlite3库完成以下操作:

1.创建一个名为cpu的数据库文件,并创建一张Rate的表(表有三个字段:ID、Rate、updatetime)

2.记录下十秒钟cpu相关数据,并删除第id为1的数据。

import sqlite3

import datetime

import psutil   #获取cpu当前占比

conn = sqlite3.connect("        ①        ")

creatsql = "create table Rate(ID integer primary key, Rate float,updatetime time)"

        ②        

cur.execute(creatsql)

conn.commit()

insertsql = "insert into Rate(ID,Rate,updatetime) values(%d,%f,'%s')"

checksql = "select * from Rate"

for x in range(0,10):

    nowtime = datetime.datetime.now()

    nowtime = nowtime.strftime('%Y-%m-%d %H:%M:%S')

    cpu_per = float(psutil.cpu_percent(1))

    cur.        ③        (insertsql  % (x,cpu_per,nowtime))

    conn.commit()

cur.execute(checksql)

data = cur.fetchall()

delsql="delete from Rate where ID=%d"

cur.execute(delsql %1)

conn.commit()

        ④        

conn.close()

3.

打开一个由小写英文组成的文本文件'old.txt',将该文件中的每一个字母加密后写入到一个新文件'new.txt',加密的方法是:a变成b,b变成c……,z变成a,其它字符不变化(不考虑文件路径)


file=open("old.txt","r")

line=file.         ①        


list=[]

while line:

    for i in range(        ②        ):

        if line[i].islower():

           jm=        ③        

           list.append(chr(jm))

        else:

            list.append(line[i])

    line=file.readline()

s=''.join(list)

file=open("new.txt","w+")

        ④        

file.close()

公众号
客服 反馈
顶部