基于实训管理平台的实习计划与排行榜实现
小明: 嘿,小李,我们学校的实训管理平台最近要上线一个新功能——排行榜。你觉得怎么设计比较好呢?
小李: 首先得有个数据库来存储每个学生的实习信息,比如完成的任务数、得分等。
小明: 对,我们可以用SQLite作为数据库,简单易用。那数据怎么处理呢?
小李: 我们可以编写一个Python脚本,从数据库读取数据并按照得分排序。
小明: 听起来不错!具体代码是怎样的?
小李: 好的,这是我们的数据库初始化代码:
import sqlite3
conn = sqlite3.connect('internship.db')
c = conn.cursor()
c.execute('''CREATE TABLE IF NOT EXISTS students (
id INTEGER PRIMARY KEY,
name TEXT,
tasks_completed INTEGER,
score REAL
)''')
conn.commit()
conn.close()
小明: 然后呢?
小李: 这是我们用来插入数据的函数:
def add_student(name, tasks_completed, score):
conn = sqlite3.connect('internship.db')
c = conn.cursor()
c.execute("INSERT INTO students (name, tasks_completed, score) VALUES (?, ?, ?)",
(name, tasks_completed, score))
conn.commit()
conn.close()
小明: 那排行榜的实现呢?
小李: 这是获取排行榜的代码:
def get_leaderboard():
conn = sqlite3.connect('internship.db')
c = conn.cursor()
c.execute("SELECT * FROM students ORDER BY score DESC")
leaderboard = c.fetchall()
conn.close()
return leaderboard
小明: 太棒了!这样我们就能实时更新和查看学生的排名情况了。
小李: 是的,而且我们可以进一步优化,比如添加更多筛选条件或者图形化界面。
小明: 嗯,这确实是个不错的开始!
本站知识库部分内容及素材来源于互联网,如有侵权,联系必删!