赞
踩
这篇文章主要介绍了python编写一个简单的学生成绩管理程序,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获,下面让小编带着大家一起了解一下。
人生苦短,python为伴,希望大家喜欢。
今天,我将给大家演示如何用Python制作一个简单的学生成绩管理系统。
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 还是要有一个学习规划。最后大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!
点此免费领取:CSDN大礼包:《python学习路线&全套学习资料》免费分享
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
检查学习结果。
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
这份完整版的Python全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。