基于Python实现学生管理系统

学生信息管理系统负责编辑学生信息

下面通过python实现一个简单的学生信息管理系统

要求如下:

1.添加学生的信息
2.删除学生的信息
3.修改的信息
4.查询学生的信息
5.遍历学生的信息
6.退出系统

写法:

1.先考虑整体的框架(即搭框架),不要刚开始就考虑函数。
2.提示用户选择功能。
3.获取用户选择的功能。
4.根据用户的选择,执行相应的功能。

代码如下:

  1 # 0.学生管理系统界面
  2 def showInfo():
  3     print("-"*30)
  4     print("   学生管理系统 v1.0")
  5     print(" 1:添加学生的信息")
  6     print(" 2:删除学生的信息")
  7     print(" 3:修改的信息")
  8     print(" 4:查询学生的信息")
  9     print(" 5:遍历学生的信息")
 10     print(" 6:退出系统")
 11     print("-" * 30)
 12 
 13 
 14 # 1.添加学生的信息
 15 def addNewStu(studentsTemp):
 16     name = input("请输入姓名:")
 17     stuId = input("请输入学号:")
 18     age = input("请输入年龄:")
 19 
 20     # 2.判断是否能加这个学生:如果学生姓名已经存在报错提示;如果姓名不存在添加数据
 21     global students  # 声明students为全局变量
 22 
 23     # 2.1不允许学号重复:判断用户输入的学号和列表里面字典的id对应的值相等提示
 24     for i in students:
 25         if stuId == i['id']:
 26             print("该学号已经存在,请重新操作!!!")
 27             # return作用:退出当前函数,后面添加信息的代码不执行
 28             return
 29 
 30     # 2.2如果输入的姓名不存在,添加数据:准备空字典,字典新增数据,列表追加字典
 31     stuInfo = {}  # 2.2.1准备空字典
 32 
 33     # 2.2.2字典新增数据
 34     stuInfo['name'] = name  # 如果name存在赋值修改,如果name不存在则赋值新增“name”这个变量
 35     stuInfo['id'] = stuId
 36     stuInfo['age'] = age
 37 
 38     # 2.2.3列表追加字典数据
 39     studentsTemp.append(stuInfo)
 40 
 41 
 42 
 43 # 2.删除学生的信息
 44 def del_info():
 45     # 1.用户输入要删除的学生的学号
 46     del_name = input("请输入要删除的姓名:")
 47 
 48     # 2.判断学生是否存在:存在则删除:不存在提示
 49     # 2.1声明students为全局变量
 50     global students
 51     # 2.2遍历列表
 52     for i in students:
 53         # 2.3判断学生是否存在:存在执行删除(列表用面的学典).break:这个系统不允许重名,删除了一个后面的不需要再遍历。不存在提示
 54         if del_name == i['name']:
 55             students.remove(i)
 56             break
 57     else:  # 循环正常结束
 58         print("该学生不存在")
 59     print(students)
 60 
 61 
 62 # 3.修改学生的信息
 63 def modify_info():
 64     # 1.用户输入想要修改的学生的姓名
 65     modify_name = input("请输入要修改的学生的姓名:")
 66     # 2.判断学生是否存在:存在修改学号:不存在,提示
 67     # 2.1声明students是全局变量
 68     global students
 69     # 2.2遍历列表,判断输入的姓名==字典['name']
 70     for i in students:
 71         if modify_name == i['name']:
 72             # 将stuId修改key值,并终止此循环
 73             i['id'] = input("请输入新的学号:")
 74             break
 75     else:
 76         # 学生不存在
 77         print("该学生不存在")
 78     # 3.打印students
 79     print(students)
 80 
 81 
 82 # 4.查询学生的信息
 83 def search_info():
 84     # 1.用户输入目标学生姓名
 85     search_name = input("请输入要查询的学生的姓名:")
 86     # 2.检查学生是否存在:存在打印这个学生的信息;不存在则提示
 87     # 2.1声明students为全局变量
 88     global students
 89     # 2.2遍历students,判断输入的学号是否存在
 90     for i in students:
 91         if search_name == i['name']:
 92             # 学员存在:打印信息并终止循环
 93             print("查询到的学生信息如下----------")
 94             print(f"学生的学号是{i['id']},学生的姓名是{i['name']},学生的年龄是{i['age']}")
 95             break
 96     else:
 97         # 学生不存在的提示
 98         print("对不起,您查询的学生不存在,请重试!")
 99 
100 
101 # 5.遍历学生的信息
102 def print_all():
103     # 1.打印提示字
104     print('学号\t姓名\t年龄')
105 
106     # 2.打印所有学生的数据
107     for i in students:
108         print(f"{i['id']}\t{i['name']}\t{i['age']}")
109 
110 
111 students = []  # 等待存储所有学生信息
112 # 系统功能需要循环使用,直在用户输入6,才退出系统
113 while True:
114     showInfo()  # 显示主界面
115     key = int(input("请选择功能(序号):"))
116 
117     if key == 1:
118         addNewStu(students)
119     elif key == 2:
120         del_info()
121     elif key == 3:
122         modify_info()
123     elif key == 4:
124         search_info()
125     elif key == 5:
126         print_all()
127     elif key == 6:
128         exit_flag = input("您确定要退出吗?yes/no\n")
129         if exit_flag == 'yes':
130             break
131     else:
132         print("输入有误,请重新输入!")
133         

猜你喜欢

转载自www.cnblogs.com/aimilu/p/12433045.html