python面向?qū)ο蟀鎸W(xué)生信息管理系統(tǒng)
本文實(shí)例為大家分享了python面向?qū)ο蟀娴膶W(xué)生信息管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
功能:
1.能循環(huán)輸入內(nèi)容
2.展示功能
-1.新增名片
-2.顯示全部
-3.查詢名片
-0.退出系統(tǒng)
3.讓用戶輸入希望執(zhí)行的操作 例如輸入1,2,3,0
4.新增列表
提示用戶輸入姓名,
輸入電話
輸入qq號(hào)
輸入郵箱
提示新增名片成功。
5.顯示全部
將所有的名片打印出來(lái),格式如下:
姓名 電話 QQ 郵箱
zs 110 1337765076 110@qq.com
6.查詢名片
提示請(qǐng)輸入要搜索查找用戶的姓名
如果用戶存在—>顯示用戶的信息
-提示用戶【1】修改 【2】刪除 【0】返回上一級(jí)菜單,請(qǐng)選擇要執(zhí)行的操作。
-修改操作,可以修改用戶名,電話,qq、郵箱。
刪除操作,將用戶刪除。
返回上一級(jí)操作,回到歡迎界面,讓用戶繼續(xù)操作。
如果用戶不存在–>提示查找的用戶不存在。
class StudentManger(object): student_info_lst = [] # 保存所有學(xué)生的信息 @staticmethod def show_menu(): '''顯示所有功能''' print('歡迎來(lái)到學(xué)生管理系統(tǒng)') print('新增學(xué)員請(qǐng)按[1]') print('顯示全部請(qǐng)按[2]') print('查詢學(xué)員請(qǐng)按[3]') print('退出系統(tǒng)請(qǐng)按[0]') def add_student(self): '''這是新增學(xué)員的功能''' print('-------新增學(xué)員功能-------') name = input('請(qǐng)輸入姓名:') age = input('請(qǐng)輸入年齡:') gender = input('請(qǐng)輸入性別:') phone = input('請(qǐng)輸入手機(jī):') # print(name,age,gender,phone) # 將用戶輸入的信息保存到一個(gè)字典中。 dic = {} dic['name'] = name dic['age'] = age dic['gender'] = gender dic['phone'] = phone # print(dic) # 注意:將用戶數(shù)的信息保存到全局變量student_info_lst # 列表中,讓其他功能使用列表中的數(shù)據(jù)。 self.student_info_lst.append(dic) # print(student_info_lst) print('添加成功了...') def alignment(self,s, space): '''輸出對(duì)齊''' s1 = s.encode('gbk') space = space - len(s1) s = s + ' ' * space return s def show_all_student(self): print('-------顯示所有的學(xué)員功能-------') if not self.student_info_lst: print('還沒(méi)有學(xué)員呢,請(qǐng)?zhí)砑訉W(xué)員') return # 顯示學(xué)員的信息 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): '''處理修改用戶名時(shí)不輸入問(wèn)題''' 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】返回上一級(jí)菜單,請(qǐng)選擇要執(zhí)行的操作:") if action_str == '1': # 第一版修改 # dic['name'] = input('請(qǐng)輸入姓名:') # dic['age'] = input('請(qǐng)輸入年齡:') # dic['gender'] = input('請(qǐng)輸入性別:') # dic['phone'] = input('請(qǐng)輸入電話:') # 第二版--輸入空格后能繼續(xù)運(yùn)行。 dic['name'] = self.modify_student_info(dic['name'], '請(qǐng)輸入姓名:') dic['age'] = self.modify_student_info(dic['age'], '請(qǐng)輸入年齡:') dic['gender'] = self.modify_student_info(dic['gender'], '請(qǐng)輸入性別:') dic['phone'] = self.modify_student_info(dic['phone'], '請(qǐng)輸入電話:') print('修改成功?。?!') elif action_str == '2': self.student_info_lst.remove(dic) print('刪除成功了!!!') elif action_str == '0': pass def search_student_by_name(self): '''搜索學(xué)生''' print('-------歡迎來(lái)到查詢學(xué)員功能-------') if self.student_info_lst: name = input('請(qǐng)輸入要查詢學(xué)員的姓名:') 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) # 處理學(xué)生信息 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('請(qǐng)輸入你要選擇數(shù)字:') 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 輸出錯(cuò)了請(qǐng)重新輸入...-------')
運(yùn)行結(jié)果:
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
查找python項(xiàng)目依賴并生成requirements.txt的方法
今天小編就為大家分享一篇查找python項(xiàng)目依賴并生成requirements.txt的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07用python實(shí)現(xiàn)一個(gè)讓人戒不掉的百變款消消樂(lè)
消消樂(lè)的熱門(mén)程度幾乎趕上王者榮耀,你是否也有收到過(guò)好友邀請(qǐng)你幫解鎖關(guān)卡的時(shí)候,今天小編帶你用python編寫(xiě)一個(gè)自己的消消樂(lè)升級(jí)版,同學(xué)請(qǐng)往下看2021-09-09解決django migrate報(bào)錯(cuò)ORA-02000: missing ALWAYS keyword
這篇文章主要介紹了解決django migrate報(bào)錯(cuò)ORA-02000: missing ALWAYS keyword,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07Pytorch自定義CNN網(wǎng)絡(luò)實(shí)現(xiàn)貓狗分類詳解過(guò)程
PyTorch是一個(gè)開(kāi)源的Python機(jī)器學(xué)習(xí)庫(kù),基于Torch,用于自然語(yǔ)言處理等應(yīng)用程序。它不僅能夠?qū)崿F(xiàn)強(qiáng)大的GPU加速,同時(shí)還支持動(dòng)態(tài)神經(jīng)網(wǎng)絡(luò)。本文將介紹PyTorch自定義CNN網(wǎng)絡(luò)實(shí)現(xiàn)貓狗分類,感興趣的可以學(xué)習(xí)一下2022-12-12Python學(xué)習(xí)之內(nèi)置函數(shù)總結(jié)
這篇文章主要為大家總結(jié)一下python?中常用的是個(gè)內(nèi)置函數(shù)的使用方法,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Python有一定的幫助,需要的可以參考一下2022-03-03python?spotlight庫(kù)簡(jiǎn)化交互式方法探索數(shù)據(jù)分析
這篇文章主要為大家介紹了python?spotlight庫(kù)簡(jiǎn)化的交互式方法探索數(shù)據(jù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01快速解決jupyter notebook啟動(dòng)需要密碼的問(wèn)題
這篇文章主要介紹了快速解決jupyter notebook啟動(dòng)需要密碼的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04python非對(duì)稱加密算法RSA實(shí)現(xiàn)原理與應(yīng)用詳解
RSA加密算法是一種非對(duì)稱加密算法,RSA算法的安全性基于大數(shù)分解的困難性,即已知兩個(gè)大素?cái)?shù)p和q的乘積n,求解p和q非常困難,RSA算法廣泛應(yīng)用于數(shù)據(jù)加密和數(shù)字簽名等領(lǐng)域,本文將詳細(xì)介紹如何在Python中使用RSA算法進(jìn)行加密和解密,需要的朋友可以參考下2024-09-09