使用Python实现简单的学生成绩管理系统
基本功能:
- 能够实现学生成绩相关信息的输入、输出、查找、删除、修改等功能;(使用数据库对数据进行存取)
- 输入并存储学生的信息:通过输入学生的学号、姓名、和分数,然后就可以把数据保存在建立的student文件里面。
- 打印学生的所有信息:通过一个打印函数就可以把所有的信息打印在屏幕上。
- 查找学生信息:这个功能通过输入学号,查找该学生的信息,如果有该学号就输出该学生的信息,没有该学号就提示输入的学号不存在。
- 删除学生信息:该功能是对相应的学生进行删除操作,如果学生存在就查找到进行删除。
- 修改学生信息:这个功能首先通过查询功能查询出该学生是否存在,如果存在就对该学生的信息进行修改,如果不存在则返回到主界面。
实现效果:
制作技巧
1.定义变量
(1)定义交互输入变量
主要用于展示学生成绩管理系统的操作界面。
(2)定义学生成绩信息变量
主要用于学生成绩信息的存取。
s_info = """ ***************************************************** 【学生成绩管理系统】 q. 退出学生成绩系统 1. 显示学生成绩信息 2. 新建学生成绩信息 3. 查询学生成绩信息 4. 删除学生成绩信息 5. 修改学生成绩信息 ******************************************************""" students=[]
2.读取学生成绩信息
主要是从TXT文件中读取学生成绩信息,并保存到学生成绩变量中。
f=open("students.txt","r+") for st in f.readlines(): students.append(eval(st)) f.close()
3.循环等待操作指令并执行
主要是循环等待输入的学生管理系统操作指令,获取到操作指令后执行对学生成绩信息的显示、新建、查询、删除、修改操作。
while True: print(s_info) handle = input('请选择你要的操作选项:') if handle == 'q': print('q. 退出系统') break elif handle == '1': s_display(students) elif handle == '2': s_new(students) elif handle == '3': s_find(students) elif handle == '4': s_delect(students) elif handle == '5': s_modify(students) else: print('请输入正确的操作选项!')
4.编写操作指令执行函数
(1)显示学生成绩信息函数
主要功能是显示所有学生成绩信息。
def s_display(students): print('1. 显示全部信息') print('姓名\t语文\t数学\t英语\t总分') for stu in students: print(f'{stu["name"]}\t{stu["chinese"]}\t{stu["math"]}\t{stu["english"]}\t{stu["total"]}')
(2)新建学生成绩信息函数
主要是新建学生成绩信息,并更新保存学生成绩信息的文件。
def s_new(students): print('2. 新建学生信息') name = str(input('请输入学生的姓名:')) chinese = int(input('请输入学生的语文成绩:')) math = int(input('请输入学生的数学成绩:')) english = int(input('请输入学生的英语成绩:')) total = chinese + math + english stu = {'name': name, 'chinese': chinese, 'math': math, 'english': english, 'total': total} students.append(stu) s_write_to_file(students)
(3)查询学生成绩信息函数
主要是查询给定姓名的学生成绩信息。
def s_find(students): print('3. 查询学生信息') name = input('请输入你要查询学生的姓名:') for stu in students: if name == stu['name']: print('姓名\t语文\t数学\t英语\t总分') print(f'{stu["name"]}\t{stu["chinese"]}\t{stu["math"]}\t{stu["english"]}\t{stu["total"]}') break else: print('该学生不存在, 请检查名字是否输入正确!') s_write_to_file(students)
(4)删除学生成绩信息函数
主要是删除给定姓名的学生成绩信息,并更新保存学生成绩信息的文件。
def s_delect(students): print('4. 删除学生信息') name = input('请输入你要删除学生的姓名:') for stu in students: if name == stu['name']: students.remove(stu) break else: print('该学生不存在, 请检查名字是否输入正确!') s_write_to_file(students)
(5)修改学生成绩信息函数
主要是修改给定姓名的学生成绩信息,并更新保存学生成绩信息的文件。
def s_modify(students): print('5. 修改学生信息') name = input('请输入你要修改学生的姓名:') for stu in students: if name == stu['name']: print('(如果不想修改,直接回车!)') name = input('请重新输入学生的姓名:') chinese = input('请重新输入学生的语文成绩:') math = input('请重新输入学生的数学成绩:') english = input('请重新输入学生的英语成绩:') if name: stu['name'] = str(name) if chinese: stu['chinese'] = int(chinese) if math: stu['math'] = int(math) if english: stu['english'] = int(english) stu['total'] = stu['chinese'] + stu['math'] + stu['english'] break else: print('该学生不存在, 请检查名字是否输入正确!') s_write_to_file(students)
5.保存学生成绩信息函数
主要实现学生成绩信息的保存更新。
def s_write_to_file(students): f=open("students.txt","r+") for s in students: f.write(str(s)+"\n") f.close()
完整源代码
def s_write_to_file(students): f=open("students.txt","r+") for s in students: f.write(str(s)+"\n") f.close() def s_display(students): print('1. 显示全部信息') print('姓名\t语文\t数学\t英语\t总分') for stu in students: print(f'{stu["name"]}\t{stu["chinese"]}\t{stu["math"]}\t{stu["english"]}\t{stu["total"]}') def s_new(students): print('2. 新建学生信息') name = str(input('请输入学生的姓名:')) chinese = int(input('请输入学生的语文成绩:')) math = int(input('请输入学生的数学成绩:')) english = int(input('请输入学生的英语成绩:')) total = chinese + math + english stu = {'name': name, 'chinese': chinese, 'math': math, 'english': english, 'total': total} students.append(stu) s_write_to_file(students) def s_find(students): print('3. 查询学生信息') name = input('请输入你要查询学生的姓名:') for stu in students: if name == stu['name']: print('姓名\t语文\t数学\t英语\t总分') print(f'{stu["name"]}\t{stu["chinese"]}\t{stu["math"]}\t{stu["english"]}\t{stu["total"]}') break else: print('该学生不存在, 请检查名字是否输入正确!') s_write_to_file(students) def s_delect(students): print('4. 删除学生信息') name = input('请输入你要删除学生的姓名:') for stu in students: if name == stu['name']: students.remove(stu) break else: print('该学生不存在, 请检查名字是否输入正确!') s_write_to_file(students) def s_modify(students): print('5. 修改学生信息') name = input('请输入你要修改学生的姓名:') for stu in students: if name == stu['name']: print('(如果不想修改,直接回车!)') name = input('请重新输入学生的姓名:') chinese = input('请重新输入学生的语文成绩:') math = input('请重新输入学生的数学成绩:') english = input('请重新输入学生的英语成绩:') if name: stu['name'] = str(name) if chinese: stu['chinese'] = int(chinese) if math: stu['math'] = int(math) if english: stu['english'] = int(english) stu['total'] = stu['chinese'] + stu['math'] + stu['english'] break else: print('该学生不存在, 请检查名字是否输入正确!') s_write_to_file(students) if __name__=="__main__": s_info = """ ***************************************************** 【学生成绩管理系统】 q. 退出学生成绩系统 1. 显示学生成绩信息 2. 新建学生成绩信息 3. 查询学生成绩信息 4. 删除学生成绩信息 5. 修改学生成绩信息 ******************************************************""" students=[] f=open("students.txt","r+") for st in f.readlines(): students.append(eval(st)) f.close() while True: print(s_info) handle = input('请选择你要的操作选项:') if handle == 'q': print('q. 退出系统') break elif handle == '1': s_display(students) elif handle == '2': s_new(students) elif handle == '3': s_find(students) elif handle == '4': s_delect(students) elif handle == '5': s_modify(students) else: print('请输入正确的操作选项!')
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!
相关文章
基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算
这篇文章主要介绍了基于Python编写一个计算器程序,实现简单的加减乘除和取余二元运算,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-08-08Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式
今天小编就为大家分享一篇Pytorch使用MNIST数据集实现CGAN和生成指定的数字方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-01-01python3使用requests模块爬取页面内容的实战演练
本篇文章主要介绍了python3使用requests模块爬取页面内容的实战演练,具有一定的参考价值,有兴趣的可以了解一下2017-09-09通过Folium在地图上展示数据Python地理可视化的入门示例详解
这篇文章主要介绍了通过Folium在地图上展示数据Python地理可视化的入门,在本文中,我们介绍了如何使用Python中的Folium库进行地理可视化,通过Folium,我们可以轻松地创建交互式地图,并在地图上展示数据、绘制形状、添加图例和文本标签等,需要的朋友可以参考下2024-05-05
最新评论