这个录入是有漏洞的,因为你的id是字母的话,也不会报错
如果你id啥都不写直接回车的话,会直接结束
def insert() :
student_list=[]
while True :
id = input('请输入ID(如1001)')
if not id:
break
name = input('请输入姓名:')
if not name:
break
try:
englist=int(input('请输入英语成绩'))
python = int(input('请输入python成绩'))
java = int(input('请输入java成绩'))
except:
print('输入无效,不是整数类型,请重新输入')
continue
#将录入的学生信息保存到字典
student = {'id':id , 'name' :name , 'english' : englist , 'python': python , 'java' : java }
#将学生信息添加到列表中
student_list.append(student)
answer=input('是否继续添加?y/n?')
if answer == 'y' :
continue
else:
break
#调用save()函数
save(student_list)
print('学生信息录入完毕!!!')
def save(lst) :
try:
stu_txt =open(filename ,'a', encoding = 'utf-8')
except:
stu_txt=open(filename,'w',encoding = 'utf-8')
for item in lst:
stu_txt.write(str(item)+'n')
stu_txt.close()