python面向?qū)ο蟀鎸W生信息管理系統(tǒng)
本文實例為大家分享了python面向?qū)ο蟀娴膶W生信息管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
功能:
1.能循環(huán)輸入內(nèi)容
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)
# 注意:將用戶數(shù)的信息保存到全局變量student_info_lst
# 列表中,讓其他功能使用列表中的數(shù)據(jù)。
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('請輸入你要選擇數(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 輸出錯了請重新輸入...-------')
運行結(jié)果:

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用grpc實現(xiàn)golang后端和python服務間通信
gRPC是Google 開發(fā)的高性能、開源的遠程過程調(diào)用(RPC)框架,本文主要為大家詳細介紹了如何使用grpc實現(xiàn)golang后端和python服務間通信,感興趣的可以了解下2024-03-03
python之openpyxl模塊的安裝和基本用法(excel管理)
這篇文章主要給大家介紹了關(guān)于python之openpyxl模塊的安裝和基本用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-02-02
15個應該掌握的Jupyter Notebook使用技巧(小結(jié))
這篇文章主要介紹了15個應該掌握的Jupyter Notebook使用技巧(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09

