C语言输入1表示升序 2表示降序,python实现软件工程师排序模块

一 代码

'''5 排序''' def sort(): show() # 显示全部工程师信息 if os.path.exists(filename): # 判断文件是否存在 with open(filename, 'r') as file: # 打开文件 student_old = file.readlines() # 读取全部内容 student_new = [] for list in student_old: d = dict(eval(list)) # 字符串转字典 student_new.append(d) # 将转换后的字典添加到列表中 else: return ascORdesc = input("请选择(0升序;1降序):") if ascORdesc == "0": # 按升序排序 ascORdescBool = False # 标记变量,为False表示升序排序 elif ascORdesc == "1": # 按降序排序 ascORdescBool = True # 标记变量,为True表示降序排序 else: print("您的输入有误,请重新输入!") sort() mode = input("请选择排序方式(1按Java成绩排序;2按Python成绩排序;3按C语言成绩排序;0按总成绩排序):") if mode == "1": # 按Java成绩排序 student_new.sort(key=lambda x: x["java"], reverse=ascORdescBool) elif mode == "2": # 按Python成绩排序 student_new.sort(key=lambda x: x["python"], reverse=ascORdescBool) elif mode == "3": # 按C语言成绩排序 student_new.sort(key=lambda x: x["c"], reverse=ascORdescBool) elif mode == "0": # 按总成绩排序 student_new.sort(key=lambda x: x["java"] + x["python"] + x["c"], reverse=ascORdescBool) else: print("您的输入有误,请重新输入!") sort() show_student(student_new) # 显示排序结果

二 运行

╔———————工程师信息管理系统———————————————————————— │ │ =============== 功能菜单 ================= │ │ 1 录入工程师信息 │ 2 查找工程师信息 │ 3 删除工程师信息 │ 4 修改工程师信息 │ 5 排序 │ 6 统计工程师总人数 │ 7 显示所有工程师信息 │ 0 退出系统 │ ========================================== │ 说明:通过数字或↑↓方向键选择菜单 ╚———————————————————————————————————————————— 请选择:5 ID 名字 Java成绩 Python成绩 C语言成绩 总成绩 1001 攻城狮 99 99 99 297 1002 码农 100 100 100 300 请选择(0升序;1降序):0 请选择排序方式(1按Java成绩排序;2按Python成绩排序;3按C语言成绩排序;0按总成绩排序):1 ID 名字 Java成绩 Python成绩 C语言成绩 总成绩 1001 攻城狮 99 99 99 297 1002 码农 100 100 100 300

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值