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

2023年9月电子学会青少年软件编程(Python六级)等级考试试卷
操作/编程 六级 2023 2023-10-29 13:46:23 59

一、编程题

1.

考试成绩处理

将某班级的期末考试成绩存放于data.db数据库文件的score数据表内,部分成绩截图如下。

现要求求出english成绩大于或等于80的所有学生的总分平均分,并输出结果。(无需运行通过,写入代码即可)

import sqlite3

conn=sqlite3.connect("data.db")

cur=conn.cursor( )

sql="select * from score         ①        "

cur.execute(sql)

        ②        

conn.commit()

cur.close()

conn.close()

zf=0

for i in range(len(list1)):

    zf+=sum(        ③        )

pjf=zf/len(list1)

print("english大于或等于80分同学的总分平均分是",pjf)

2.

钢筋问题

统计三角形数量及钢筋总长度。某工程需要很多由钢筋组成的三角形,在文本文件“data.txt”中每一行的三个数字分别表示三根钢筋的长度(整数,单位:厘米,数字间用空格隔开),若这三根钢筋能组成三角形,要求统计并输出三角形数量以及这些钢筋材料的总长度(若不能组成三角形则不对这些数据进行统计),文本文件数据如图a所示,程序运行界面如图b所示。

完成该任务的思路是:首先从文本文件“data.txt”读取文本内容到变量line,提取边长数据后,统计数据并输出结果。

相关代码如下,请补全代码:

def readfile(filename):

    f = open(filename,encoding = "utf-8")     

    m=[]; n=[]; k=[]

    line = f.readline()  

    while line:

        x=line.strip().split(" ") 

        m.append(int(x[0]))      

        n.append(int(x[1]))      

        k.append(int(x[2]))    

                ①        

    f.close()

    return m,n,k

def triangle(x,y,z):     # 判断数据x、y、z能否组成三角形

    flag=False

    if          ②        :

        flag=True

    return flag

a,b,c=readfile("/data/        ③        ")    #读入文件

n=len(a);count=0;sum=0

print("能组成三角形的数据有:")

for i in range(n):

    if          ④        :

        sum+=a[i]+b[i]+c[i]

        print(a[i],b[i],c[i])

        count+=1   

print("能组成三角形的共有:",count,"组")

print("共需要材料长度共是:",sum)

3.

工资管理

编写简单的工资管理程序,系统中包含工人(worker)和经理(manage),所有员工都有员工号、姓名、基本工资等属性。

工人:工人具有工作小时数和时薪的属性,工资计算方法为基本工资 + 工作小时数 * 时薪;

经理: 具有固定的月薪,计算方法为固定月薪。

根据以上的要求设计类,显示人员的信息和工资情况,运行结果如下:

工号:001,姓名:King,本月工资:10000

King的月薪是:10000

工号:002,姓名:Lily,本月工资:20000

Lily每天的工作时长:10小时

Lily的月薪是: 20000

class Person():

    def __init__(self,id,name,salary):

        self.id = id

        self.name = name

                ①        

    def __str__(self):#查看对象,触发执行print语句

        msg = '工号:{},姓名:{},本月工资:{}'.format(self.id,self.name,self.salary)

        return msg

class Worker(Person):

    def __init__(self,id,name,salary,hours,per_hour):

        super().__init__(id,name,salary)

        self.hours = hours

        self.per_hour = per_hour

    def getSalary(self):

        money = self.hours * self.per_hour

                ②        

        return         ③        

class Manage(Person):

    def __init__(self,id,name,salary,time):

        super().__init__(id,name,salary)

        self.time = time

        

    def getSalary(self):

        return self.salary,self.time

worker = Worker('001','King',2000,160,50)

sal = worker.getSalary()

print(worker)

print('King的月薪是:{}'.format(sal))

manage = Manage('002','Lily',20000,10)

        ④        ,  work_time   = manage.getSalary()

print(manage)

print('{}每天的工作时长:{}小时'.format('Lily',        ⑤        ))

print('Lily的月薪是:',sal)

公众号
客服 反馈
顶部