综合练习:成绩查询系统
57.24 综合练习:成绩查询系统
实现:按班级查平均分、模糊搜姓名、分页排行榜、统计各分数段人数。
查询函数封装
扩展:加 input 菜单,支持按班级、分数段、关键词查询。
import pymysql
from pymysql.cursors import DictCursor
def query(sql, args=()):
conn = pymysql.connect(
host='127.0.0.1', user='root', password='root',
database='py_demo', charset='utf8mb4', cursorclass=DictCursor
)
try:
with conn.cursor() as cur:
cur.execute(sql, args)
return cur.fetchall()
finally:
conn.close()
print('排行榜:', query(
'SELECT name, score FROM students ORDER BY score DESC LIMIT 5'
))
print('搜「小」:', query(
"SELECT name, score FROM students WHERE name LIKE %s", ('%小%',)
))
print('一班均分:', query(
'SELECT AVG(score) AS avg FROM students WHERE class_name=%s', ('一班',)
))