问题遇到的现象和发生背景
stu_list为学生信息列表,内容如下
{'id': 118, 'name': '李四', 'english': 90, 'python': 80, 'java': 88}
{'id': 111, 'name': '李二', 'english': 100, 'python': 100, 'java': 100}
{'id': 114, 'name': '王三', 'english': 90, 'python': 90, 'java': 80}
现,需要实现删除信息的功能
问题相关代码,请勿粘贴截图
def delete():
file=open('stu_list.txt','r',encoding='utf-8')
lst=file.readlines()
file.close()
dein=input('请输入学生姓名')
for info in lst:
d=dict(eval(info))
if d['name']==dein:
print(d)
answer=input('请问确定需要删除吗')
if answer=='y' or answer=='Y':
lst.remove(info)
file=open('stu_list.txt','w',encoding='utf-8')
file.writelines(lst)
file.close()
print('删除完毕')
else:
print('返回')
delete()
else:
print('学生不存在,重新输入')
delete()
运行结果及报错内容
我的解答思路和尝试过的方法
输出d失败,
但是将d下方以后的注释掉即可正常输出