import re
choice = input('''
请问你想要什么服务?
1.写入
2.提取
3.写出
''')
def data_sort():
with open(' achievement.txt', 'r', encoding='utf-8') as f:
res2 = []
for line in f:
res = line.split('|')
res1 = re.findall('[0-9]{2}', res[2])
res.append(res1[0])
res2.append(res)
res_new = sorted(res2, key=lambda x: x[3], reverse=True)
return res_new
def remove_punctuation(inp_string):
no_punct_string = re.sub(r'[^\w\s]', '', inp_string)
return no_punct_string
if choice == '1':
with open(' achievement.txt', 'a', encoding='utf-8') as f:
student_ID = input('请输入你想写入的学号:').strip()
name = input('请输入你想写入的姓名:').strip()
achievement = input('请输入你想写入的成绩:').strip()
res = '学号:%s|姓名:%s|成绩:%s\n' % (student_ID, name, achievement)
f.write(res)
elif choice == '2':
res = data_sort()
print(res)
elif choice == '3':
with open(' achievement_out.txt', 'w', encoding='utf-8') as f:
res = data_sort()
for line in res:
del line[3]
answer = remove_punctuation(str(line)).strip('n')+'\n'
f.write(answer)
小练习:写入写出学生学号成绩姓名(利用正则)
最新推荐文章于 2024-07-21 12:21:28 发布