0****1
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('请输入正确的操作选项!')``
点击下方安全链接前往获取
CSDN大礼包:《Python入门&进阶学习资源包》免费分享
👉Python实战案例👈
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。
👉Python书籍和视频合集👈
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉Python副业创收路线👈
这些资料都是非常不错的,朋友们如果有需要《Python学习路线&学习资料》,点击下方安全链接前往获取
CSDN大礼包:《Python入门&进阶学习资源包》免费分享
本文转自 网络,如有侵权,请联系删除。