Python制作基础学生信息管理系统
目录
- 一.前言
- 二.开发环境:
- 三.涉及知识点
- 四.接下来我们开始敲代码
- 第一步:制作学生信息管理系统的界面
- 第二步:新建学生信息
- 第三步:显示全部学生信息
- 第四步:查询学生信息
- 第五步:修改学生信息
- 第六步: 删除学生信息
- 五、最后代码
一.前言 学生信息管理系统,相信大家或多或少都有做过
最近看很多学生作业都是制作一个学生信息管理系统
于是,今天带大家做一个简单的学生信息管理系统
二.开发环境: 我用到的开发环境
- Python 3.8
- Pycharm 2021.2
三.涉及知识点
- Python基础语法
- 基本的数据类型与结构
- 基本的逻辑控制语句
- 实战小项目
四.接下来我们开始敲代码 我们一步步来完成学生信息管理系统
第一步:制作学生信息管理系统的界面
- 程序启动,显示信息管理系统欢迎界面,并显示功能菜单 (print)
- 用户用数字选择不同的功能 (input)
- 根据功能选择,执行不同的功能 (if 判断 多分支选择)
- 需要记录学生的 姓名、语文成绩、数学成绩、英语成绩 、总分 (input, 数据容器存储输入的学生信息)
- 如果查询到指定的学生信息,用户可以选择 修改 或者 删除 信息 (多分支选择里面的逻辑)
- 进入或退出时加载或保存数据 (文件操作)
"""str_info = """**************************************************欢迎使用【学生信息管理系统】V1.0请选择你想要进行的操作1. 新建学生信息2. 显示全部信息3. 查询学生信息4. 删除学生信息5. 修改学生信息0. 退出系统**************************************************"""while True:# 1. 程序启动,显示信息管理系统欢迎界面,并显示功能菜单 (print)print(str_info)# 2.用户用数字选择不同的功能(input)action = input('请选择你要进行的操作(输入数字):')if action == '1':print('1. 新建学生信息')elif action == '2':print('2. 显示全部信息')elif action == '3':print('3. 查询学生信息')elif action == '4':print('4. 删除学生信息')elif action == '5':print('5. 修改学生信息')elif action == '0':print('0. 退出系统')breakelse:print('请输入正确的选项!')
效果:
**************************************************欢迎使用【学生信息管理系统】V1.0请选择你想要进行的操作1. 新建学生信息2. 显示全部信息3. 查询学生信息4. 删除学生信息5. 修改学生信息0. 退出系统**************************************************
第二步:新建学生信息
【Python制作基础学生信息管理系统】需要记录学生的 姓名、语文成绩、数学成绩、英语成绩 、总分 (input, 数据容器存储输入的学生信息)
name = input('请输入学生的姓名:')chinese = int(input('请输入学生的语文成绩:'))math = int(input('请输入学生的数学成绩:'))english = int(input('请输入学生的英语成绩:'))total = chinese + math + english# 用什么数据容器接受比较好?存储信息, 取值采用字典students = [{'name': name, 'chinese': chinese, 'math': math, 'english': english, 'total': total}]print(students)
第三步:显示全部学生信息
students = [{'name': '正心', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},{'name': '张三', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},{'name': '李四', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},{'name': '王五', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},]print('姓名\t语文\t数学\t英语\t总分')for stu in students:# print(stu)print(f'{stu["name"]}\t{stu["chinese"]}\t\t{stu["math"]}\t\t{stu["english"]}\t\t{stu["total"]}')
第四步:查询学生信息
students = [{'name': '正心', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},{'name': '张三', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},{'name': '李四', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},{'name': '王五', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},]# 5. 如果查询到指定的学生信息,用户可以选择 修改 或者 删除 信息 (多分支选择里面的逻辑)name = input('请输入你要查询学生的姓名:')# 先遍历所有学生for stu in students:# 如果满足条件, 就是查询到了if name == stu['name']:print('姓名\t语文\t数学\t英语\t总分')print(f'{stu["name"]}\t{stu["chinese"]}\t\t{stu["math"]}\t\t{stu["english"]}\t\t{stu["total"]}')# 一旦查询到了就停止查询breakelse:# 没找到print('该学生不存在, 请检查名字是否输入正确!')
第五步:修改学生信息
import pprintstudents = [{'name': '正心', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},{'name': '张三', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},{'name': '李四', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},{'name': '王五', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},]# 5. 如果查询到指定的学生信息,用户可以选择 修改 或者 删除 信息 (多分支选择里面的逻辑)name = input('请输入你要修改学生的姓名:')# 先遍历所有学生for stu in students:# 如果满足条件, 就是查询到了, 找到了这个学生# 找到了需要修改的学生if name == stu['name']:# 不想修改, 直接回车print('(如果不想修改,直接回车!)')name = input('请重新输入学生的姓名:')chinese = input('请重新输入学生的语文成绩:')math = input('请重新输入学生的数学成绩:')english = input('请重新输入学生的英语成绩:')# total = chinese + math + english# 用户输入了数据才修改if name:stu['name'] = nameif 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']breakelse:# 没找到print('该学生不存在, 请检查名字是否输入正确!')pprint.pprint(students)
第六步: 删除学生信息
import pprintstudents = [{'name': '正心', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},{'name': '张三', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},{'name': '李四', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},{'name': '王五', 'chinese': 59, 'math': 59, 'english': 59, 'total': 177},]# 5. 如果查询到指定的学生信息,用户可以选择 修改 或者 删除 信息 (多分支选择里面的逻辑)name = input('请输入你要删除学生的姓名:')# 先遍历所有学生for stu in students:# 找到学生if name == stu['name']:# 删除学生students.remove(stu)breakelse:# 没找到print('该学生不存在, 请检查名字是否输入正确!')pprint.pprint(students)
然后把他们拼接起来,就完成了我们简单的一个学生管理系统!
五、最后代码
import jsonstr_info = """**************************************************欢迎使用【学生信息管理系统】V1.0请选择你想要进行的操作1. 新建学生信息2. 显示全部信息3. 查询学生信息4. 删除学生信息5. 修改学生信息0. 退出系统**************************************************"""# 读取文件with open('students.json', mode='r', encoding='utf-8') as f:students_str = f.read()students = json.loads(students_str)while True:# 1. 程序启动,显示信息管理系统欢迎界面,并显示功能菜单 (print)print(str_info)# 2.用户用数字选择不同的功能(input)action = input('请选择你要进行的操作(输入数字):')if action == '1':print('1. 新建学生信息')name = 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)elif action == '2':print('2. 显示全部信息')print('姓名\t语文\t数学\t英语\t总分')for stu in students:print(f'{stu["name"]}\t{stu["chinese"]}\t\t{stu["math"]}\t\t{stu["english"]}\t\t{stu["total"]}')elif action == '3':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\t{stu["math"]}\t\t{stu["english"]}\t\t{stu["total"]}')# 一旦查询到了就停止查询breakelse:# 没找到print('该学生不存在, 请检查名字是否输入正确!')elif action == '4':print('4. 删除学生信息')name = input('请输入你要删除学生的姓名:')# 先遍历所有学生for stu in students:# 找到学生if name == stu['name']:# 删除学生students.remove(stu)breakelse:# 没找到print('该学生不存在, 请检查名字是否输入正确!')elif action == '5':print('5. 修改学生信息')name = input('请输入你要修改学生的姓名:')# 先遍历所有学生for stu in students:# 如果满足条件, 就是查询到了, 找到了这个学生# 找到了需要修改的学生if name == stu['name']:# 不想修改, 直接回车print('(如果不想修改,直接回车!)')name = input('请重新输入学生的姓名:')chinese = input('请重新输入学生的语文成绩:')math = input('请重新输入学生的数学成绩:')english = input('请重新输入学生的英语成绩:')# total = chinese + math + english# 用户输入了数据才修改if name:stu['name'] = nameif 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']breakelse:# 没找到print('该学生不存在, 请检查名字是否输入正确!')elif action == '0':print('0. 退出系统')with open('students.json', mode='w', encoding='utf-8') as f:# 把列表对象转化成字符串ascii 编码students_str = json.dumps(students, ensure_ascii=False)f.write(students_str)print(students_str)breakelse:print('请输入正确的选项!')
到此这篇关于Python制作基础学生信息管理系统的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
推荐阅读
- python学习之|python学习之 实现QQ自动发送消息
- 逻辑回归的理解与python示例
- python自定义封装带颜色的logging模块
- 【Leetcode/Python】001-Two|【Leetcode/Python】001-Two Sum
- Python基础|Python基础 - 练习1
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- Python(pathlib模块)
- python青少年编程比赛_第十一届蓝桥杯大赛青少年创意编程组比赛细则
- Java|Java基础——数组
- Python数据分析(一)(Matplotlib使用)