Python实现学生管理系统
1.代码
from prettytable import PrettyTable class StudentInfo: def __init__(self): print("---------------------------") print(" 学生管理系统 V1.0 ") print(" 1:添加学生 ") print(" 2:显示所有学生 ") print(" 3:查询学生 ") print(" 4:修改学生 ") print(" 5:删除学生 ") print(" 6:退出系统 ") print("---------------------------") self.student_list = [] # 定义一个列表用来存储所有的学生信息(每个学生是一个字典) self.table = PrettyTable() self.table.field_names = ["序号", "姓名", "性别", "年龄"] def AddStudent(self): """添加学生信息""" student = {} # 定义一个字典,用来存储用户的学生信息 name = input("请输入学生姓名>>>") # 判断学生是否存在 for i in self.student_list: if i['name'] == name: print("学生已经存在!!") return None sex = input("请输入学生性别>>>") age = input("请输入学生年龄>>>") # 向字典中添加数据 student['name'] = name student['sex'] = sex student['age'] = age # 向列表中添加这个字典 self.student_list.append(student) # 向表格里添加一行 self.table.add_row([self.student_list.index(student)+1, name, sex, age]) print("添加成功!!!") def UpdateTable(self): '''更新表格''' self.table.clear_rows() for i, student in enumerate(self.student_list): self.table.add_row([i + 1, student['name'], student['sex'], student['age']]) print(self.table) def PrintTable(self): """打印表格""" print(self.table) def SearchStudent(self): """查询学生信息""" index = int(input("请输入要查找学生的序号:")) if 1 <= index <= len(self.student_list): print(self.table[index-1]) # 打印该学生信息 else: print("输入的学生序号有误,请重新输入") def UpdateStudent(self): '''修改学生信息''' index = int(input("请输入要修改学生的序号:")) if 1 <= index <= len(self.student_list): print(self.table[index-1]) # 打印该学生信息 else: print("输入的学生序号有误,请重新输入") name = input("请输入学生姓名>>>") # 判断学生是否存在 for student in self.student_list: if student['name'] == name: print("学生已经存在!!") return None self.student_list[index-1]['name'] = name self.student_list[index-1]['sex'] = input("请输入学生性别>>>") self.student_list[index-1]['age'] = input("请输入学生年龄>>>") print("修改成功!") print(self.student_list) self.UpdateTable() return None def DeleteStudent(self): """删除学生信息""" print(self.table) index = int(input("请输入要删除学生的序号:")) if 1 <= index <= len(self.student_list): del_flag = input("你确定要删除么?[y/n]") if del_flag == 'y': self.student_list.pop(index-1) print("删除成功!!!") self.UpdateTable() return None else: print("放弃删除!!!") return None else: print("输入序号有误,请重新输入") def main(self): while True: choose = int(input("请输入的您的选择>>>")) if choose == 1: self.AddStudent() elif choose == 2: self.PrintTable() elif choose == 3: self.SearchStudent() elif choose == 4: self.UpdateStudent() elif choose == 5: self.DeleteStudent() elif choose == 6: print("Bye~~") break else: print("输入有误,请重新输入......") if __name__ == '__main__': stu = StudentInfo() stu.main()
2.运行效果