def sort(): # 成绩排序 show() # 显示学生信息列表 if os.path.exists(filename): with open(filename, 'r', encoding = 'UTF-8') as r_file: stu_list = r_file.readlines() stu_new = [] for i in stu_list: d = dict(eval(i)) stu_new.append(d) else: return asc_or_desc = input('请选择(0.升序 1.降序):') if asc_or_desc == '0': asc_or_desc_bool = False # 升序标记 elif asc_or_desc == '1': asc_or_desc_bool = True # 降序标记 else: print('输入错误!') m = input('请选择排序方式:(1.按英语成绩排序 2.按python成绩排序 3.按数学成绩排序 4.按数据结构成绩排序 0.按总成绩排序):') if m == '1': # 按英语成绩排序 stu_new.sort(key = lambda x:int(x['english']), reverse = asc_or_desc_bool) elif m == '2': # 按python成绩排序 stu_new.sort(key = lambda x:int(x['python']), reverse = asc_or_desc_bool) elif m == '3': # 按数学成绩排序 stu_new.sort(key = lambda x:int(x['math']), reverse = asc_or_desc_bool) elif m == '4': # 按数据结构成绩排序 stu_new.sort(key = lambda x:int(x['data']), reverse = asc_or_desc_bool) elif m == '0': # 按总成绩排序 stu_new.sort(key = lambda x:int(x['english']) + int(x['python']) + int(x['math']) + int(x['data']), reverse = asc_or_desc_bool) else: print("输入有误!") show_stu(stu_new)写出上面这段代码的伪代码
时间: 2024-04-05 20:35:01 浏览: 19
定义一个函数sort,没有输入参数
调用show函数,展示学生信息列表
如果文件存在,则打开文件
将文件内容按行读入到列表stu_list中
定义一个空列表stu_new
遍历stu_list中的每个元素i,使用eval函数将其转换为字典类型d
将d添加到stu_new列表中
否则返回
获取排序方式,升序或降序
如果输入不合法,则提示错误
获取排序方式,按照英语成绩、Python成绩、数学成绩、数据结构成绩或总成绩排序
如果输入不合法,则提示错误
根据所选的排序方式,对stu_new列表进行排序,使用lambda表达式指定排序方式和排序顺序
调用show_stu函数,展示排序后的stu_new列表
相关问题
def show(): student_new = [] if os.path.exists(filename): # 判断文件是否存在 with open(filename, 'r') as rfile: # 打开文件 student_old = rfile.readlines() # 读取全部内容 for list in student_old: student_new.append(eval(list)) # 将找到的学生信息保存到列表中 if student_new: show_student(student_new) else: print("暂未保存数据信息...")
这段代码是用来展示已经保存的学生信息的。它首先检查文件是否存在,如果存在就打开文件并读取所有内容。然后将读取到的每条学生信息转换为字典并添加到列表student_new中。接着,它调用之前我们提到的展示学生信息的函数show_student()来展示列表中的所有学生信息。如果列表为空,它会输出"暂未保存数据信息..."。需要注意的是,这里使用了eval()函数将读取到的字符串转换为字典,这可能会存在一定的安全隐患,因此应该尽量避免使用。
if not os.path.exists(LOG_PATH):
如果你想检查 `LOG_PATH` 路径是否存在并执行相应的操作,你可以使用以下代码:
```python
import os
if not os.path.exists(LOG_PATH):
# 执行你想要的操作,例如创建文件夹或者进行其他处理
os.makedirs(LOG_PATH)
```
在这个例子中,`os.path.exists(LOG_PATH)` 用于检查路径是否存在。如果路径不存在,`os.makedirs(LOG_PATH)` 可以用来创建该路径。你可以在这个条件下执行你想要的操作。