python面向對象版學生信息管理系統(tǒng)
本文實例為大家分享了python面向對象版的學生信息管理系統(tǒng)的具體代碼,供大家參考,具體內容如下
功能:
1.能循環(huán)輸入內容
2.展示功能
-1.新增名片
-2.顯示全部
-3.查詢名片
-0.退出系統(tǒng)
3.讓用戶輸入希望執(zhí)行的操作 例如輸入1,2,3,0
4.新增列表
提示用戶輸入姓名,
輸入電話
輸入qq號
輸入郵箱
提示新增名片成功。
5.顯示全部
將所有的名片打印出來,格式如下:
姓名 電話 QQ 郵箱
zs 110 1337765076 110@qq.com
6.查詢名片
提示請輸入要搜索查找用戶的姓名
如果用戶存在—>顯示用戶的信息
-提示用戶【1】修改 【2】刪除 【0】返回上一級菜單,請選擇要執(zhí)行的操作。
-修改操作,可以修改用戶名,電話,qq、郵箱。
刪除操作,將用戶刪除。
返回上一級操作,回到歡迎界面,讓用戶繼續(xù)操作。
如果用戶不存在–>提示查找的用戶不存在。
class StudentManger(object): student_info_lst = [] # 保存所有學生的信息 @staticmethod def show_menu(): '''顯示所有功能''' print('歡迎來到學生管理系統(tǒng)') print('新增學員請按[1]') print('顯示全部請按[2]') print('查詢學員請按[3]') print('退出系統(tǒng)請按[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('還沒有學員呢,請?zhí)砑訉W員') 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】返回上一級菜單,請選擇要執(zhí)行的操作:") if action_str == '1': # 第一版修改 # dic['name'] = input('請輸入姓名:') # dic['age'] = input('請輸入年齡:') # dic['gender'] = input('請輸入性別:') # dic['phone'] = input('請輸入電話:') # 第二版--輸入空格后能繼續(xù)運行。 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 輸出錯了請重新輸入...-------')
運行結果:
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
查找python項目依賴并生成requirements.txt的方法
今天小編就為大家分享一篇查找python項目依賴并生成requirements.txt的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-07-07解決django migrate報錯ORA-02000: missing ALWAYS keyword
這篇文章主要介紹了解決django migrate報錯ORA-02000: missing ALWAYS keyword,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07python?spotlight庫簡化交互式方法探索數據分析
這篇文章主要為大家介紹了python?spotlight庫簡化的交互式方法探索數據,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01