2023年9月电子学会青少年软件编程(Python六级)等级考试试卷
操作/编程
六级
2023
2023-10-29 13:46:23
59次
一、编程题
考试成绩处理
将某班级的期末考试成绩存放于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)
【知识点】 电子学会Python六级
钢筋问题
统计三角形数量及钢筋总长度。某工程需要很多由钢筋组成的三角形,在文本文件“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)
【知识点】 电子学会Python六级
工资管理
编写简单的工资管理程序,系统中包含工人(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)
【知识点】 电子学会Python六级
