目录
一、系列文章链接
(一):程序介绍和流程图
(二):主要文件main.py
(三):基础文件basics.py
(四):管理学生信息manage.py
(五):查询学生信息query.py
(六):导入数据文件import_data.py
(七):导出数据文件export_data.py
二、实现效果
(1)查询特定的学生
(1)查询特定的学生
菜单:
①学号
②居住地
(如果多个学生居住地相同,就显示多个)
(2)排序查询
菜单:
①按学号排序查看
②按总分排序查看
③按单科成绩排序
三、query.py的函数简介
重点: 这部分主要是用于查询,所以要多次用到查询语句,有很多个函数是为了使差不多类型的查询语句多次使用。
-
class Display():
“”“多个显示函数的集合”"" -
def main( cn):
“”“判断是否有学生存在,并根据选项调用函数query_all 和query_some “””
(1)排序查询
-
def query_all( cn):
“”“排序查询全部的学生,调用以下三个sort_by_函数”"" -
def sort_by_sno( cn):
“”“按学号排序查看”"" -
def sort_by_total( cn):
“”“按总分排序查看”"" -
def sort_by_single( cn):
“”“按单科成绩排序”"" -
class ShowReports():
“”“展示成绩表里的信息,多个显示函数的集合”""
(2)查询特定的学生
-
按输入的参数返回"全部信息"的两个函数 :
def returnall_stu( cn, sel, sinfo):
“”“按学生表里的某个信息进行查找,返回全部信息”""
def returnall_repo( cn, sel, sinfo):
“”“按学生表里的某个信息进行查找,返回全部信息”"" -
def query_some( cn):
“”“查询特定的学生,调用以下不同参数的 common “”” -
def som_common( cn, sel, sinfo):
“”“query_some( cn) 里的选项可以通用的函数,可以根据 sel 的实参的不同而查询不同信息的学生”""
#如som_common( cn, ‘Sname’, sname) -
def other_to_sno( cn, sel, sinfo):
“”“将Students表里的其他信息转换成 sno 返回”"" -
def show_students( information):
“”“展示学生表里的信息”""
四、代码
import os
import basics as ba
class Display():
"""多个显示函数的集合"""
def __init__(self):
pass
def prefix( self, name):
print("****************************")
print(" %s菜单" % name)
print("****************************")
def main_show(self):
self.prefix("查询学生信息")
print("\t 1:查询特定的学生")
print("\t 2:排序查询")
print("\t 0:返回主菜单")
print("****************************\n")
def some_show(self):
self.prefix("查询特定的学生")
print("\t 1:按学号")
print("\t 2:按姓名")
print("\t 3:按性别")
print("\t 4:按班级")
print("\t 5:按居住地")
print("\t 0:返回查询菜单")
print("****************************\n")
def all_show(self):
self.prefix(" 排序查询")
print("\t 1:按学号排序查看")
print("\t 2:按总分排序查看")
print("\t 3:按单科成绩排序")
print("\t 0:返回查询菜单")
print("****************************\n")
# 按输入的参数返回"全部信息"的两个函数
def returnall_stu( cn, sel, sinfo):
"""按学生表里的某个信息进行查找,返回全部信息"""
sql = '''SELECT DISTINCT Sno, Sname, Sgender,
Sbirth, Sclass, Snative
FROM Students WHERE %s = '%s'
''' % ( sel, sinfo)
return common( cn, sql)
def returnall_repo( cn, sel, sinfo):
"""按学生表里的某个信息进行查找,返回全部信息"""
sql = '''SELECT DISTINCT Racademicyear,
Rterm, Sno, Cno, Grade
FROM Reports WHERE %s = '%s'