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)文章
Python3實(shí)現(xiàn)自定義比較排序/運(yùn)算符
這篇文章主要介紹了Python3實(shí)現(xiàn)自定義比較排序/運(yùn)算符,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
python實(shí)現(xiàn)人臉檢測(cè)的簡(jiǎn)單實(shí)例
這篇文章主要給大家介紹了關(guān)于python實(shí)現(xiàn)人臉檢測(cè)的相關(guān)資料,OpenCV?可以使用機(jī)器學(xué)習(xí)算法搜索圖像中的人臉,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-02-02
使用grpc實(shí)現(xiàn)golang后端和python服務(wù)間通信
gRPC是Google 開(kāi)發(fā)的高性能、開(kāi)源的遠(yuǎn)程過(guò)程調(diào)用(RPC)框架,本文主要為大家詳細(xì)介紹了如何使用grpc實(shí)現(xiàn)golang后端和python服務(wù)間通信,感興趣的可以了解下2024-03-03
PyQt5 實(shí)現(xiàn)字體大小自適應(yīng)分辨率的方法
今天小編就為大家分享一篇PyQt5 實(shí)現(xiàn)字體大小自適應(yīng)分辨率的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06
python之openpyxl模塊的安裝和基本用法(excel管理)
這篇文章主要給大家介紹了關(guān)于python之openpyxl模塊的安裝和基本用法的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
15個(gè)應(yīng)該掌握的Jupyter Notebook使用技巧(小結(jié))
這篇文章主要介紹了15個(gè)應(yīng)該掌握的Jupyter Notebook使用技巧(小結(jié)),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09

