2022年9月电子学会青少年软件编程(Python六级)等级考试试卷
操作/编程
六级
2022
2022-11-29 17:22:47
52次
一、编程题
使用Python的sqlite3库完成以下问题。
1.在data.db文件内创建一个学生成绩表student(不考虑data.db的路径)
2.student中包含
学号(num),类型INTEGER PRIMARY KEY
姓名(name),类型TEXT
成绩(grade),类型int
名次(rank),类型int
3.增加一条记录(1,"lilei",100,50)
程序如下,请补全代码。
import sqlite3
conn= ①
cur = ②
cur.execute("CREATE TABLE IF NOT EXISTS student(num INTEGER PRIMARY KEY ,name text,grade int,rank int)")
cur.execute("insert into student( ③ ) values( ④ )")
⑤
cur.close()
conn.close()
【知识点】 电子学会Python六级
小明编写一个类实现设置马的品种、年龄、性别及速度,输出相应的语句,请补全代码。
如下代码输出结果为“一匹阿拉伯12岁的公马,在草原上奔跑的速度为50km/h”。
class ① :
def __init__(self, category, gender, age):
self.category = category
②
self.age = age
self.speed = 0
def get_descriptive(self):
self.info = "一匹" + self.category + ③ + "岁的" +self.gender + "马"
def write_speed(self, new_speed):
self.speed = new_speed
addr = "在草原上奔跑的速度为"
print( ④ + "," + addr + str(self.speed) + "km/h。")
horse = Horse("阿拉伯","公",12)
horse.get_descriptive()
horse.write_speed(50)
【知识点】 电子学会Python六级
有十位选手参加某项比赛,共有10位评委参与评分。每位选手得分已保存在“score1.txt”文件中,如图所示。第一行表示1号选手的所有得分,第二行表示2号选手的所有得分,依次类推。最终得分的计分规则为去掉一个最高分,去掉一个最低分,求余下分数的平均分。请找出最终得分最高的选手。“score1.txt”文件的内容如图所示。

程序代码如下:
with open("/data/ ① ", encoding="UTF-8") as f:
data = f.readline().strip()
i = 0
m = 0
while data:
②
score = list(map(float, data.split()))
result = (sum(score) - min(score) - max(score)) / (len(score) - 2)
if ③ :
m = result
pos = i
data = ④ .strip()
print("成绩最佳的选手是:" + ⑤ + "号,得分:" + str(m) + "分")
请在画线处填入正确的代码。
【知识点】 电子学会Python六级
