学生信息管理系统--2录入学生信息
这里采用两个函数以及一个全局变量:
一个全局变量:filename="student.txt" --->用于保存文件
两个函数:
insert()插入数据
save(lst) 保存数据
# 保存学生数据信息到本地的文件名称
filename="student.txt"
# filename="student.db"
# 录入学生信息
# 录入学生模块,从控制台录入学生信息,并且把它们保存到硬盘文件汇总
# 保存文件格式:{'id':'1001','name':张三",‘english’:‘81’,‘python’:‘99’,‘java’:‘100’}
# {'id':'1001','name':张三",‘english’:‘81’,‘python’:‘99’,‘java’:‘100’}
# save(student)函数,用于将学生信息保存到文件
def insert():
student_list=[]
while True:
id=input("请输出ID(如1009):")
if not id: #id中没有输入数字,直接输入空格或者回车后,退出
break
name=input("请输入姓名:")
if not name:
break
# 如果输入的成绩存在错误的话,重新输入
try:
english=int(input("请输入英语成绩:"))
python=int(input("请输入python成绩:"))
java=int(input("请输入java成绩:"))
except:
print("输入的成绩存在错误,不是整数类型,请重新输入")
continue
#将录入的学生信息保存到字典中
studentoneDict={'id':id,'name':name,'english':english,'python':python,'java':java}
#将学生信息添加到列表中
student_list.append(studentoneDict)
answer=input("是否继续添加?y/n\n")
if answer=='y':
continue
else:
break
# 调用保存到本地的函数save,进行本地保存
save(student_list)
print("学生信息录入完毕")
# 如果有文件‘filename’,就是直接以‘a'的追加模式添加数据,如果一开始,没有文件就是
# 执行下面’w‘模式的文件,新创建文件
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') # 转换字符形式存入,后续取出的时候,采用eval函数
stu_txt.close()