Python小项目(学生成绩管理系统)
第三天:添加学生信息部分。
一.insert()函数
定义一个insert()函数,其功能为:
1.创建一个列表student_list=[],用于存放学生的各种信息以及考试成绩。
2.用input()写入学生信息,注意将姓名部分改为字符串类型str()。
3.将学生的信息汇总成一个字典student={}。 一个学生就是一个字典,将所有的字典放入最初student_list列表中。 下一步即为将列表信息保存至本地文件中(即为save()函数)。
4.询问是否继续添加信息?
这部分的主要代码如下:
注:这里需要注意student字典中的'name','id'若需改为中文,在后续的search()函数中 if d['name'] == name 中也许将索引改为中文,不然会报错。
def insert():
student_list = []
while True:
name = str(input('请输入学生的姓名: '))
if not name:
break
id = int(input('请输入学生的学号: '))
if not id:
break
#try内代码为主代码。若主代码出错,则运行except中的代码。
try:
chinese = int(input('输入学生的语文成绩: '))
math = int(input('输入学生的数学成绩: '))
english = int(input('输入学生的英语成绩: '))
except:
print('输入错误,请重新输入。')
continue
#输入的三门成绩,保存到一个字典中。
student = {'name':name ,'id:':id,'chinese:':chinese,'math':math,'english':english}
student_list.append(student)
#询问是否继续添加新学生的信息
answer = str(input('是否继续添加信息?T/F'))
if answer == 'T':
continue
else:
break
#使用save()函数,保存信息到student.txt文件中
save(student_list)
print('学生信息录入完毕。')
二.save()函数部分
我们以及将存有学生信息的数据放在了一个列表里,现在我们需要创建一个本地的.txt文件,作为存放学生信息的本地文件。
filename = 'student.txt'
现在我们要编写一个save()函数,用以存储学生信息列表,保存并且关闭。
首先定义save函数:
stu_txt:open()打开本地文件student.txt,用UTF-8转换格式。
def save(student_list):
stu_txt = open(filename , 'a' , encoding = 'UTF-8') #a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾
然后遍历student_list列表,将所有信息用.write()写入stu_txt。.close()关闭.txt文件。
这里的item我一直搞不太清楚是什么。可以断个点debug一下,可以看到item具体是什么。
for item in student_list:
stu_txt.write(str(student_list),'\n') #\n换行
stu_txt.close()
完整代码如下:
def save(student_list):
stu_txt = open(filename,'a',encoding='UTF-8')
for item in student_list:
stu_txt.write(str(item) + '\n')
stu_txt.close()
到此所有的insert()函数结束。总结一下,先定义insert():将学生信息汇总为一个个的字典,再将字典写入一个空列表中。后定义save():将本地文件打开,把列表内的信息都写入本地,关闭本地文件。
(续)
本文介绍了如何使用Python实现一个简单的学生成绩管理系统,重点讲解了添加学生信息的部分,包括创建`insert()`函数来收集学生信息并存储为字典,以及`save()`函数将学生信息保存到本地txt文件的实现过程。
1754

被折叠的 条评论
为什么被折叠?



