本文实例为大家分享了python面向对象版的学生信息管理系统的具体代码,供大家参考,具体内容如下
功能:
1.能循环输入内容
2.展示功能
-1.新增名片
-2.显示全部
-3.查询名片
-0.退出系统
3.让用户输入希望执行的操作 例如输入1,2,3,0
4.新增列表
提示用户输入姓名,
输入电话
输入qq号
输入邮箱
提示新增名片成功。
5.显示全部
将所有的名片打印出来,格式如下:
姓名 电话 QQ 邮箱
zs 110 1337765076 110@qq.com
6.查询名片
提示请输入要搜索查找用户的姓名
如果用户存在—>显示用户的信息
-提示用户【1】修改 【2】删除 【0】返回上一级菜单,请选择要执行的操作。
-修改操作,可以修改用户名,电话,qq、邮箱。
删除操作,将用户删除。
返回上一级操作,回到欢迎界面,让用户继续操作。
如果用户不存在–>提示查找的用户不存在。
class StudentManger(object): student_info_lst = [] # 保存所有学生的信息 @staticmethod def show_menu(): \'\'\'显示所有功能\'\'\' print(\'欢迎来到学生管理系统\') print(\'新增学员请按[1]\') print(\'显示全部请按[2]\') print(\'查询学员请按[3]\') print(\'退出系统请按[0]\') def add_student(self): \'\'\'这是新增学员的功能\'\'\' print(\'-------新增学员功能-------\') name = input(\'请输入姓名:\') age = input(\'请输入年龄:\') gender = input(\'请输入性别:\') phone = input(\'请输入手机:\') # print(name,age,gender,phone) # 将用户输入的信息保存到一个字典中。 dic = {} dic[\'name\'] = name dic[\'age\'] = age dic[\'gender\'] = gender dic[\'phone\'] = phone # print(dic) # 注意:将用户数的信息保存到全局变量student_info_lst # 列表中,让其他功能使用列表中的数据。 self.student_info_lst.append(dic) # print(student_info_lst) print(\'添加成功了...\') def alignment(self,s, space): \'\'\'输出对齐\'\'\' s1 = s.encode(\'gbk\') space = space - len(s1) s = s + \' \' * space return s def show_all_student(self): print(\'-------显示所有的学员功能-------\') if not self.student_info_lst: print(\'还没有学员呢,请添加学员\') return # 显示学员的信息 name = self.alignment(\'name\', 15) age = self.alignment(\'age\', 15) gender = self.alignment(\'gender\', 15) phone = self.alignment(\'phone\', 15) print(name, age, gender, phone) for dic in self.student_info_lst: name = dic[\'name\'] age = dic[\'age\'] gender = dic[\'gender\'] phone = dic[\'phone\'] name = self.alignment(name, 15) age = self.alignment(age, 15) gender = self.alignment(gender, 15) phone = self.alignment(phone, 15) print(name, age, gender, phone) def modify_student_info(self,old_value, msg): \'\'\'处理修改用户名时不输入问题\'\'\' new_name = input(msg) if new_name.strip(): return new_name else: return old_value def deal_student(self,dic): action_str = input(\"【1】修改 【2】删除 【0】返回上一级菜单,请选择要执行的操作:\") if action_str == \'1\': # 第一版修改 # dic[\'name\'] = input(\'请输入姓名:\') # dic[\'age\'] = input(\'请输入年龄:\') # dic[\'gender\'] = input(\'请输入性别:\') # dic[\'phone\'] = input(\'请输入电话:\') # 第二版--输入空格后能继续运行。 dic[\'name\'] = self.modify_student_info(dic[\'name\'], \'请输入姓名:\') dic[\'age\'] = self.modify_student_info(dic[\'age\'], \'请输入年龄:\') dic[\'gender\'] = self.modify_student_info(dic[\'gender\'], \'请输入性别:\') dic[\'phone\'] = self.modify_student_info(dic[\'phone\'], \'请输入电话:\') print(\'修改成功!!!\') elif action_str == \'2\': self.student_info_lst.remove(dic) print(\'删除成功了!!!\') elif action_str == \'0\': pass def search_student_by_name(self): \'\'\'搜索学生\'\'\' print(\'-------欢迎来到查询学员功能-------\') if self.student_info_lst: name = input(\'请输入要查询学员的姓名:\') for dic in self.student_info_lst: if dic[\'name\'] == name: name = self.alignment(\'name\', 15) age = self.alignment(\'age\', 15) gender = self.alignment(\'gender\', 15) phone = self.alignment(\'phone\', 15) print(name, age, gender, phone) name = dic[\'name\'] age = dic[\'age\'] gender = dic[\'gender\'] phone = dic[\'phone\'] name = self.alignment(name, 15) age = self.alignment(age, 15) gender = self.alignment(gender, 15) phone = self.alignment(phone, 15) print(name, age, gender, phone) # 处理学生信息 self.deal_student(dic) break else: print(\'not have such student\') else: print(\'not have student please add student\') while True: StudentManger.show_menu() student_manager=StudentManger() action_str = input(\'请输入你要选择数字:\') lst = [\'0\', \'1\', \'2\', \'3\'] if action_str in lst: if action_str == \'1\': student_manager.add_student() elif action_str == \'2\': student_manager.show_all_student() elif action_str == \'3\': student_manager.search_student_by_name() elif action_str == \'0\': print(\'三位慢走,欢迎下次光临\') break else: print(\'-------sb 输出错了请重新输入...-------\')
运行结果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
© 版权声明
THE END
暂无评论内容