python1.学生管理系统
#定義函數(shù)界面
def info_print():
??? print("請(qǐng)選擇功能-----------")
??? print("1.添加學(xué)員")
??? print("2.刪除學(xué)員")
??? print("3.修改學(xué)員")
??? print("4.查詢學(xué)員")
??? print("5.顯示所有學(xué)員")
??? print("6.退出系統(tǒng)")
??? print("-"*20)
#等待儲(chǔ)存所有學(xué)員信息
info = []
??? #添加學(xué)員信息的函數(shù)
def add_info():
??? """"添加學(xué)員函數(shù)"""
??? #1.用戶輸入:學(xué)號(hào),姓名,手機(jī)號(hào)
??? new_id=input("請(qǐng)輸入學(xué)號(hào):")
??? new_name=input("請(qǐng)輸入姓名:")
??? new_tel=input("請(qǐng)輸入手機(jī)號(hào):")
??? #2.判斷是否添加這個(gè)學(xué)員:如果學(xué)員姓名已經(jīng)存在報(bào)錯(cuò)提示;如果學(xué)員姓名不存在添加數(shù)據(jù)
??? global? info
??? #2.1不與允許姓名重復(fù):判斷用戶輸入的姓名 和 列表里面字典的name對(duì)應(yīng)的值是否相等 提示
??? for i in info:
??????? if new_name==i["name"]:
??????????? print("此用戶已存在,請(qǐng)重新添加!")
??????????? #退出當(dāng)前函數(shù),后面添加信息的代碼不執(zhí)行
??????????? return
??? #2.2如果輸入姓名不存在,添加數(shù)據(jù);準(zhǔn)備空字典,字典新增數(shù)據(jù),列表追加字典。
??? info_dict={}
??? #字典新增數(shù)據(jù)
??? info_dict["id"]=new_id
??? info_dict["name"]=new_name
??? info_dict["tel"]=new_tel
??? #print(info_dict)
??? #列表追加字典
??? info.append(info_dict)
??? print(info)
#刪除學(xué)員
def del_info():
??? """刪除學(xué)員信息的函數(shù)"""
??? #1.用戶輸入要?jiǎng)h除的學(xué)員姓名
??? del_name=input("請(qǐng)輸入要?jiǎng)h除的學(xué)員的姓名:")
??? #2.判斷學(xué)員是否存在;存在刪除;不存在提示
??? #2.1聲明info是全局變量
??? global info
??? #2.2遍歷列表
??? for i in info:
??????? #2.3判斷學(xué)員是否存在;存在執(zhí)行刪除(列表里面的字典)。break;
??????? # 這個(gè)系統(tǒng)不允許重名,刪除了一個(gè)后面的不需要遍歷。不存在提示
??????? if del_name==i["name"]:
??????????? #列表刪除數(shù)據(jù),按照數(shù)據(jù)刪除remove
??????????? info.remove(i)
??????????? break
??? else:
??????? print("該學(xué)員不存在")
??? print(info)
#修改函數(shù)
def modify_info():
??? """修改學(xué)員信息的函數(shù)"""
??? #1.用戶輸入想要修改的學(xué)員 根據(jù)姓名修改
??? modify_name=input("請(qǐng)輸入要修改的學(xué)員的姓名:")
??? #2.判斷學(xué)員是否存在:存在修改手機(jī)號(hào);不存在,提示
??? #2.1聲明info是全局
??? global info
??? #2.2遍歷列表,判斷用戶輸入的姓名==字典["name"]
??? for i in info:
??????? if modify_name==i["name"]:
??????????? #將tel這個(gè)key修改值,并終止此循環(huán)
??????????? i["tel"]=input("請(qǐng)輸入新的手機(jī)號(hào):")
??????????? break
??? else:
??????? #學(xué)員不存在
??????? print("學(xué)員不存在")
??? #3.打印info
??? print(info)
#查詢學(xué)員信息
def search_info():
??? """查詢學(xué)員信息的函數(shù)"""
??? #1.用戶輸入目標(biāo)學(xué)員姓名
??? search_name=input("請(qǐng)輸入要查詢的學(xué)員的姓名:")
??? #2.檢查學(xué)員是否存在:存在打印這個(gè)學(xué)員的信息;不存在則提示
??? #2.1聲明info為全局變量
??? global info
??? #2.2遍歷info。判斷輸入的學(xué)員信息是否存在
??? for i in info:
??????? if search_name==i["name"]:
??????????? #學(xué)員存在:打印學(xué)員信息并終止循環(huán)
??????????? print("查詢到的學(xué)員信息如下********************")
??????????? print(f"查詢到的學(xué)員學(xué)號(hào)是{i['id']},姓名是{i['name']},手機(jī)號(hào)是{i['tel']}")
??????????? break
??? else:
??????? #學(xué)員不存在提示
??????? print("查無此人!!!")
#顯示所有學(xué)員信息
def print_all():
??? """顯示所有學(xué)員信息"""
??? #1.打印提示字
?? ?print('學(xué)號(hào)\t姓名\t手機(jī)號(hào)')
??? #2.打印所有學(xué)員的數(shù)據(jù)
??? for i in info:
??????? print(f"{i['id']},{i['name']},{i['tel']},")
#系統(tǒng)功能需要循環(huán)使用,直到用戶輸入6,才退出系統(tǒng)。
while True:
??? #1.顯示功能界面
??? info_print()
??? #2.提示用戶輸入功能序號(hào)
??? user_num=int(input("請(qǐng)輸入功能序號(hào):"))
??? #3.按照用戶輸入的功能序號(hào),執(zhí)行不同的功能(函數(shù))
??? #如果用戶輸入1,執(zhí)行添加;如果用戶輸入2,執(zhí)行刪除...多重判斷
??? if user_num==1:
??????? #print("添加")
??????? add_info()
??? elif user_num==2:
??????? #print("刪除")
??????? del_info()
??? elif user_num==3:
??????? #print("修改")
??????? modify_info()
??? elif user_num==4:
?????? # print("查詢")
?????? search_info()
??? elif user_num==5:
??????? #print("顯示所有")
??????? print_all()
??? elif user_num==6:
??????? #print("退出系統(tǒng)")
??????? #程序想要結(jié)束,退出終止while True -- break
??????? exit_flag=input("確定要退出嗎?yes or no")
???? ???if exit_flag=='yes':
??????????? print("退出系統(tǒng)")
??????????? break
??? else:
??????? print("輸入的功能序號(hào)有誤!")
總結(jié)
以上是生活随笔為你收集整理的python1.学生管理系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第二十一期:老大难的GC原理及调优,这全
- 下一篇: python2.面向对象学生管理系统