def sort():
show()
if os.path.exists(filename):
with open(filename, 'r' ,encoding='utf-8') as rfile:
student_ list= rfile.readlines()
#print(type(student lis))#
student_ new= []
for item in student list:
d=dict(eval(item))#字符串转字典
student_ new.append(d)
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(您的输入有误,请重输)
sort()
mode =input(请选择排序方式(1: 按英语成绩排序。2:按python成绩排序。3:按Java成绩排序。0:按总成绩排序) : )if mode=='1':
student_ new.sort(key= lambda student new:int(student new['#iE 5Xžt']), reverse=asc or desc_ bool)
elif mode == '2':
student_ new.sort(key= lambda student new:int(student new['python5Xót' ]), reverse=asc_ or desc_ bool)
elif mode == '3':
student_ new.sort(key=lambda student new:int(student_ new['Java5X']), reverse=asc or desc bool)
elif mode == '0':
这个👆🏻👆🏻👆🏻👆🏻每行代码的注释是啥啊
代码不全、排版及语句错误较多,试着给你注释解释一下,供参考:
def sort(filename): #定义一个排序函数
if os.path.exists(filename):#如果文件存在的话
with open(filename, 'r', encoding='utf-8') as rfile:#以读的方式读取文件
student_list = rfile.readlines()#读取每行为列表元素
#print(type(student lis))#
student_new = []#新建一个空列表
for item in student_list:#遍历列表元素
d = dict(eval(item)) # 字符串转字典
student_new.append(d)#添加字典到列表
asc_or_desc = input(请选择, 序: 0.降序: 1)#选择正逆序
if asc_or_desc == '0':
asc_or_desc_bool = False#在sort函数reverse默认False正序
elif asc_or_desc == '1':
asc_or_desc_bool = True #在sort中reverse为true为逆序
else:
print('您的输入有误,请重输')#输入其他则提示重新输入
filename='abc.txt'#文件名
sort(filename)#调用函数
mode = input('请选择排序方式(1: 按英语成绩排序。2: 按python成绩排序。3: 按Java成绩排序。0: 按总成绩排序): ')#显示选项
if mode == '1':
student_new.sort(key=lambda student_new: int(student_new['english成绩']), reverse=asc_or_desc_bool)#选择为1时对列表按英语成绩正或逆序排列
elif mode == '2':
student_new.sort(key=lambda student_new: int(
student_new['python成绩']), reverse=asc_or_desc_bool) # 选择为2时对列表按python成绩正或逆序排列
elif mode == '3':
student_new.sort(key=lambda student_new: int(student_new['Java成绩']), reverse=asc_or_desc_bool)##选择为3时对列表按Java成绩正或逆序排列
elif mode == '0':#按总成绩排序。