龙空技术网

Python实战课程-搭建学生信息管理系统(六)排序(升序、降序)

双鱼座的程序猿 242

前言:

此时咱们对“python二维数组排序第一个元素降序第二个元素升序”大概比较珍视,大家都需要分析一些“python二维数组排序第一个元素降序第二个元素升序”的相关文章。那么小编同时在网摘上网罗了一些关于“python二维数组排序第一个元素降序第二个元素升序””的相关资讯,希望姐妹们能喜欢,大家一起来学习一下吧!

根据用户需求条件进行排序(例如:按照各科成绩和总成绩进行升序、降序排列展示数据)
排序业务模块流程设计图排序功能具体实现代码
自定义函数方法 sort() 根据条件进行升序、降序排列展示数据
# 自定义sort()函数方法实现数据排序功能def sort():    # 调用show() 函数方法进行数据展示    show()    # 判断文件是否存在    if os.path.exists(filename):        with open(filename,'r',encoding='utf-8') as rfile:            student_lst = rfile.readlines()        # 自定义变量接收循环遍历数据        student_new = []        # 遍历循环数据输出        for item in student_lst:            stu_dict = dict(eval(item))            # 将遍历后的字典数据添加到变量中            student_new.append(stu_dict)    else:        return    # 定义变量接收用户条件(升降序)    asc_or_desc = input('请选择排序方式(0.升序,1.降序):')    # 根据用户输入条件进行判断并排序    if asc_or_desc == '0':        # 定义升序 为False        asc_or_desc_bool = False    elif asc_or_desc == '1':        # 定义降序 True        asc_or_desc_bool = True    else:        print('您的输入有误,请重新输入!')        # 调用方法重新执行        sort()    mode = input('请选择排序方式(1.按用于成绩排序,2.按Python成绩排序,3.按Java成绩排序,0.按总成绩排序):')    if mode == '1':        student_new.sort(key=lambda x:int(x['english']),reverse=asc_or_desc_bool)    elif mode == '2':        student_new.sort(key=lambda x:int(x['python']),reverse=asc_or_desc_bool)    elif mode == '3':        student_new.sort(key=lambda x:int(x['java']),reverse=asc_or_desc_bool)    elif mode == '0':        student_new.sort(key=lambda x:int(x['english'])+int(x['python'])+int(x['java']),reverse=asc_or_desc_bool)    else:        print('您的输入有误,请重新输入!')        sort()    # 显示数排序后的数据    show_student(student_new)
统计学生总人数
自定义函数方法 total()统计数据总数
统计业务流程图具体代码实现
# 自定义函数方法 total() 统计数据总数def total():    # 判断文件是否存在    if os.path.exists(filename):        # 以只读方式(r)打开文件        with open(filename,'r',encoding='utf-8') as rfile:            # 定义变量接受读取到的全部数据            student_lst = rfile.readlines()            # 判断 student_lst            if student_lst:                print(f'一共有{len(student_lst)}名学生!')            else:                print('暂未查询到数据信息!')    else:        print('暂未查询到数据!请核实或录入数据!')

标签: #python二维数组排序第一个元素降序第二个元素升序