刷题刷出新高度,偷偷领先!偷偷领先!偷偷领先! 关注我们,悄悄成为最优秀的自己!
简答题
38.成绩数据库
现有学生成绩数据库school.db,包含表结构:
CREATE TABLE scores (id INT, name TEXT, math INT, class TEXT)
请补全代码完成以下功能:
1.修改指定班级学生的数学成绩
2.统计各班数学成绩>120分的学生人数
3.输出格式化结果
(本题无需运行通过,写入代码即可)
import sqlite3
conn = sqlite3.connect('school.db')
cursor = conn.cursor()
\# 任务1:修改成绩(示例:将1班张三数学成绩改为135)
update_sql = "UPDATE scores SET math = ? WHERE class = ? AND name = ?"
cursor.execute(update_sql, (135, '1班', '张三'))
①
\# 任务2:统计各班数学120高分人数cursor.execute("SELECT class FROM scores WHERE math > 120")
results = ②
class_counts = {}
for row in results:
class_name = row[0]
if class_name in class_counts:
③
else:
class_counts[class_name] = 1
\# 任务3:格式化输出结果print("各班数学高分统计:")
for class_name, count in ④ :
print(f"{class_name.ljust(6)}: {'★'*count}")
cursor.close()
⑤
现有学生成绩数据库school.db,包含表结构:
CREATE TABLE scores (id INT, name TEXT, math INT, class TEXT)
请补全代码完成以下功能:
1.修改指定班级学生的数学成绩
2.统计各班数学成绩>120分的学生人数
3.输出格式化结果
(本题无需运行通过,写入代码即可)
import sqlite3
conn = sqlite3.connect('school.db')
cursor = conn.cursor()
\# 任务1:修改成绩(示例:将1班张三数学成绩改为135)
update_sql = "UPDATE scores SET math = ? WHERE class = ? AND name = ?"
cursor.execute(update_sql, (135, '1班', '张三'))
①
\# 任务2:统计各班数学120高分人数cursor.execute("SELECT class FROM scores WHERE math > 120")
results = ②
class_counts = {}
for row in results:
class_name = row[0]
if class_name in class_counts:
③
else:
class_counts[class_name] = 1
\# 任务3:格式化输出结果print("各班数学高分统计:")
for class_name, count in ④ :
print(f"{class_name.ljust(6)}: {'★'*count}")
cursor.close()
⑤
使用微信搜索喵呜刷题,轻松应对考试!
答案:
解析:
任务1已经完成,无需额外代码。
任务2中需要统计各班数学成绩大于120分的学生人数。首先执行查询语句获取所有数学成绩大于120分的记录,然后通过遍历结果集统计各班的人数。查询结果存储在results中,因此需要调用cursor.fetchall()获取查询结果。
任务3要求格式化输出结果。这里使用字典class_counts来存储各班的人数,遍历字典并输出格式化的结果。对于格式化字符串的输出,可以使用字符串的ljust方法和乘法运算符来实现。最后关闭数据库连接。
注意:题目要求使用SQLite数据库和Python语言完成,但提供的代码示例使用了Scratch语言,这与题目要求不符。Scratch是一种面向儿童的编程工具,不适合用于处理数据库操作。因此,以上代码示例应使用Python语言进行改写。
创作类型:
原创
本文链接:38.成绩数据库现有学生成绩数据库school.db,包含表结构:CREATE TABLE scor
版权声明:本站点所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明文章出处。让学习像火箭一样快速,微信扫码,获取考试解析、体验刷题服务,开启你的学习加速器!



