哈喽~大家好,我是恰恰!之前有小伙伴问过我,想要做一个学校的学生管理的系统,所以今天就来做一个简单的学生管理系统吧!
一、首先是我们需要用到的开发环境
-
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. 退出系统')
- break
- else:
- print('请输入正确的选项!')
效果:
- **************************************************
- 欢迎使用【学生信息管理系统】V1.0
- 请选择你想要进行的操作
- 1. 新建学生信息
- 2. 显示全部信息
- 3. 查询学生信息
- 4. 删除学生信息
- 5. 修改学生信息
- 0. 退出系统
- **************************************************
第二步:新建学生信息
需要记录学生的 姓名、语文成绩、数学成绩、英语成绩 、总分 (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"]}')
- # 一旦查询到了就停止查询
- break
-
- else:
- # 没找到
- print('该学生不存在, 请检查名字是否输入正确!')
第五步:修改学生信息
- import pprint
-
- 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('(如果不想修改,直接回车!)')
- name = input('请重新输入学生的姓名:')
- chinese = input('请重新输入学生的语文成绩:')
- math = input('请重新输入学生的数学成绩:')
- english = input('请重新输入学生的英语成绩:')
- # total = chinese + math + english
-
- # 用户输入了数据才修改
- if name:
- stu['name'] = 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('该学生不存在, 请检查名字是否输入正确!')
-
- pprint.pprint(students)
第六步:删除学生信息
- import pprint
-
- 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']:
- # 删除学生
- students.remove(stu)
- break
-
- else:
- # 没找到
- print('该学生不存在, 请检查名字是否输入正确!')
-
- pprint.pprint(students)
然后把他们拼接起来,就完成了我们简单的一个学生管理系统!
五、最后代码
import json str_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"]}') # 一旦查询到了就停止查询 break else: # 没找到 print('该学生不存在, 请检查名字是否输入正确!') elif action == '4': print('4. 删除学生信息') name = input('请输入你要删除学生的姓名:') # 先遍历所有学生 for stu in students: # 找到学生 if name == stu['name']: # 删除学生 students.remove(stu) break else: # 没找到 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'] = 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('该学生不存在, 请检查名字是否输入正确!') 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) break else: print('请输入正确的选项!')
其实一步步操作下来,还是挺简单的,只要思路步骤理清了,一步步的操作我们都可以自己做一个管理系统的,很多同学大概不知道可以用Python制作学校的管理系统,Python的应用范围真的很广呢,所以大家加油学起来吧,每天一个小知识,迟早变成Python大神!
喜欢记得点赞、评论、收藏哦~