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)
# 注意:將用戶數(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 輸出錯了請重新輸入...-------')
運行結果:

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
查找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-07
Pytorch自定義CNN網(wǎng)絡實現(xiàn)貓狗分類詳解過程
PyTorch是一個開源的Python機器學習庫,基于Torch,用于自然語言處理等應用程序。它不僅能夠實現(xiàn)強大的GPU加速,同時還支持動態(tài)神經(jīng)網(wǎng)絡。本文將介紹PyTorch自定義CNN網(wǎng)絡實現(xiàn)貓狗分類,感興趣的可以學習一下2022-12-12
python?spotlight庫簡化交互式方法探索數(shù)據(jù)分析
這篇文章主要為大家介紹了python?spotlight庫簡化的交互式方法探索數(shù)據(jù),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01
python非對稱加密算法RSA實現(xiàn)原理與應用詳解
RSA加密算法是一種非對稱加密算法,RSA算法的安全性基于大數(shù)分解的困難性,即已知兩個大素數(shù)p和q的乘積n,求解p和q非常困難,RSA算法廣泛應用于數(shù)據(jù)加密和數(shù)字簽名等領域,本文將詳細介紹如何在Python中使用RSA算法進行加密和解密,需要的朋友可以參考下2024-09-09

