python面向對象版學生信息管理系統
本文實例為大傢分享瞭python面向對象版的學生信息管理系統的具體代碼,供大傢參考,具體內容如下
功能:
1.能循環輸入內容
2.展示功能
-1.新增名片
-2.顯示全部
-3.查詢名片
-0.退出系統
3.讓用戶輸入希望執行的操作 例如輸入1,2,3,0
4.新增列表
提示用戶輸入姓名,
輸入電話
輸入qq號
輸入郵箱
提示新增名片成功。
5.顯示全部
將所有的名片打印出來,格式如下:
姓名 電話 QQ 郵箱
zs 110 1337765076 [email protected]
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 輸出錯瞭請重新輸入...-------')
運行結果:
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。
推薦閱讀:
- python實現學生信息管理系統(面向對象)
- python實現學生管理系統源碼
- Python實現簡單的學生信息管理系統
- python實現學員管理系統(面向對象版)
- 如何使用Python實現名片管理系統