前言:
此时咱们对“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('暂未查询到数据!请核实或录入数据!')
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。