1.使用字典、循環(huán)重構(gòu)學(xué)生管理系統(tǒng)
import os
#存儲操作員信息
adm_dict = {
"tom": {"username": "tom", "password": "123", "nickname": "tom"},
"jerry": {"username": "jerry", "password": "456", "nickname": "jerry"}
}
#存儲學(xué)員信息
stu_dict = {
"001": {"id": "001", "name": "張三", "age": "18", "sex": "男", "grade": "98"}
}
#存放當(dāng)前操作員昵稱
nick = None
while True:
nick = None #每次回到首頁時,重置當(dāng)前用戶名稱
os.system('cls')
print(" 學(xué)生管理系統(tǒng)")
print("------------------------")
print("1.操作員登錄")
print("2.操作員注冊")
print("3.退出系統(tǒng)")
print("------------------------")
c = input("輸入您的選項(xiàng):").strip()
if c == "1":
print(" 操作員登錄頁")
print("--------------------------")
username = input("請輸入賬戶名:").strip()
password = input("請輸入密碼:").strip()
for adm in adm_dict.values():
if username == adm['username'] and password == adm['password']:
nick = adm["nickname"] # 當(dāng)前登錄用戶名稱
while True:
os.system('cls')
print(f" 學(xué)生管理系統(tǒng)-主頁 {[nick]}")
print("-------------------------------------")
print("1.錄入學(xué)員信息")
print("2.刪除學(xué)員信息")
print("3.修改學(xué)員信息")
print("4.查詢所有學(xué)員")
print("5.退出系統(tǒng)")
print("-------------------------------------")
c2 = input("請輸入選項(xiàng):").strip()
if c2 == "1":
print(f" 學(xué)生管理系統(tǒng)-錄入學(xué)員 {[nick]}")
print("-------------------------------------")
id = input("請輸入學(xué)號:").strip()
name = input("請輸入姓名:").strip()
age = input("請輸入年齡:").strip()
sex = input("請輸入性別:").strip()
grade = input("請輸入計算機(jī)成績:").strip()
print("-------------------------------------")
stu_dict[id] = {"id": id, "name": name, "age": age, "sex": sex, "grade": grade}
input("學(xué)員信息錄入成功,按任意鍵返回主頁")
elif c2 == "2":
print(f" 學(xué)生管理系統(tǒng)-刪除學(xué)員 {[nick]}")
print("-------------------------------------")
id = input("請輸入要刪除學(xué)員的學(xué)號:").strip()
print("------------------------------------------------------------------")
for stu in stu_dict.values():
if id == stu['id']:
print('學(xué)號----+-----姓名----+-----年齡----+-----性別----+-----計算機(jī)成績----')
print(stu.get("id"), stu.get("name"), stu.get("age"),
stu.get("sex"), stu.get("grade"), sep="----+-----")
print("------------------------------------------------------------------")
confirm = input("確認(rèn)刪除(Y/N)?").upper()
if confirm == "Y":
stu_dict.pop(id)
input("學(xué)員信息刪除成功,按任意鍵返回主頁")
else:
input("用戶取消了刪除操作,按任意鍵返回主頁")
break
else:
input("不存在該學(xué)號對應(yīng)的學(xué)生,按任意鍵返回主頁面!")
elif c2 == "3":
print(f" 學(xué)生管理系統(tǒng)-修改學(xué)員信息 {[nick]}")
print("-----------------------------------------")
id = input("請輸入要修改的學(xué)號:").strip()
print("------------------------------------------------------------------")
for stu in stu_dict.values():
if id == stu['id']:
print('學(xué)號----+-----姓名----+-----年齡----+-----性別----+-----計算機(jī)成績----')
print(stu.get("id"), stu.get("name"), stu.get("age"),
stu.get("sex"), stu.get("grade"), sep="----+-----")
print("------------------------------------------------------------------")
ch = input("請輸入要修改的屬性(1.姓名 2.性別 3.年齡):").strip()
if ch == "1": # 修改姓名
name = input("請輸入新的姓名:").strip()
stu["name"] = name
elif ch == "2": # 修改性別
sex = input("請輸入新的性別:").strip()
stu["sex"] = sex
elif ch == "3": # 修改年齡
age = input("請輸入新的年齡:").strip()
stu["age"] = age
else:
input("輸入錯誤,按任意鍵返回主頁")
break
input("修改完成,按任意鍵返回主頁")
break
else:
input("沒有查詢到該編號的學(xué)員,按任意鍵返回主頁")
elif c2 == "4":
print(f" 學(xué)生管理系統(tǒng)-查看所有學(xué)員 {[nick]}")
print("---------------------------------------------------------------------")
print("學(xué)號----+-----姓名----+-----年齡----+-----性別----+-----計算機(jī)成績----")
for stu in stu_dict.values():
print(stu.get("id"), stu.get("name"), stu.get("age"),
stu.get("sex"), stu.get("grade"), sep="----+-----")
print("---------------------------------------------------------------------")
input("按任意鍵返回主頁")
elif c2 == "5":
input("按下任意鍵退出系統(tǒng)")
exit()
else:
input("按任意鍵重新選擇")
else:
input("賬號或密碼錯誤,按下任意鍵回到首頁!")
elif c == "2":
print(" 操作員注冊頁")
print("-------------------------")
username = input("請輸入用戶名:").strip()
flag = 0 #字典在遍歷過程中不允許修改,設(shè)置標(biāo)志flag確定后續(xù)操作
for adm in adm_dict.values():
if username == adm['username']:
flag = 0
break
else:
flag = 1
if flag == 0:
input("該賬號已存在,按任意鍵返回首頁")
else:
password = input("請輸入密碼:").strip()
password2 = input("請確認(rèn)密碼:").strip()
nickname = input("請輸入昵稱:").strip()
if password == password2:
adm_dict[username] = {"username": username, "password": password, "nickname": nickname}
print("-------------注冊成功-------------")
input("請按下任意鍵回到首頁")
else:
input("兩次密碼不一致,請按下任意鍵回到首頁")
elif c == "3":
input("按下任意鍵退出系統(tǒng)!")
exit()
else:
print("輸入有誤,重新輸入")
2.使用字典、函數(shù),構(gòu)建學(xué)生管理系統(tǒng)
import os
#存儲操作員信息
adm_dict = {
"tom": {"username": "tom", "password": "123", "nickname": "tom"},
"jerry": {"username": "jerry", "password": "456", "nickname": "jerry"}
}
#存儲學(xué)員信息
stu_dict = {
"001": {"id": "001", "name": "張三", "age": "18", "sex": "男", "grade": "98"}
}
#存放當(dāng)前操作員昵稱
nick = None
####################################################### 退出系統(tǒng)函數(shù) #########
def do_exit():
global nick #每次退出系統(tǒng)時重置當(dāng)前用戶名稱
nick = None
input("按下任意鍵退出系統(tǒng)!")
exit()
########################################################## 注冊頁函數(shù) ############
def register_page():
print(" 操作員注冊頁")
print("-------------------------")
username = input("請輸入用戶名:").strip()
flag = 0 #字典在遍歷過程中不允許修改,設(shè)置標(biāo)志flag確定后續(xù)操作
for adm in adm_dict.values():
if username == adm["username"]:
flag = 0
break
else:
flag = 1
if flag == 0:
n = input("該賬號已存在,按1重新注冊,按其它鍵回到登錄菜單")
if n == "1":
return register_page()
else:
return login_menu()
else:
password = input("請輸入密碼:").strip()
password2 = input("請確認(rèn)密碼:").strip()
nickname = input("請輸入昵稱:").strip()
if password == password2:
adm_dict[username] = {"username": username, "password": password, "nickname": nickname}
print("-------------注冊成功-------------")
input("請按下任意鍵返回登錄菜單")
return login_menu()
else:
input("兩次密碼不一致,請按下任意鍵重新注冊")
return register_page()
########################################################## 登錄頁函數(shù) ############
def login_page():
global nick #每次回到登錄頁時,重置當(dāng)前用戶名稱
nick = None
print(" 操作員登錄頁")
print("--------------------------")
username = input("請輸入賬戶名:").strip()
password = input("請輸入密碼:").strip()
for adm in adm_dict.values():
if username == adm["username"] and password == adm["password"]:
nick = adm["nickname"] #當(dāng)前登錄用戶名稱
return function_menu()
else:
input("賬號或密碼錯誤,按下任意鍵回到首頁!")
return login_menu()
########################################################## 功能頁函數(shù) ############
def function_menu():
print(f" 學(xué)生管理系統(tǒng)-主頁 {[nick]}")
print("-------------------------------------")
print("1.錄入學(xué)員信息")
print("2.刪除學(xué)員信息")
print("3.修改學(xué)員信息")
print("4.查詢所有學(xué)員")
print("5.退出登錄")
print("6.退出系統(tǒng)")
print("-------------------------------------")
c2 = input("請輸入選項(xiàng):").strip()
if c2 == "1":
add()
elif c2 == "2":
delete()
elif c2 == "3":
update()
elif c2 == "4":
search()
elif c2 == "5":
return login_menu()
elif c2 == "6":
return do_exit()
else:
input("輸入不正確,按下任意鍵回到功能主頁")
return function_menu()
########################################################## 添加學(xué)員函數(shù) ############
def add():
print(f" 學(xué)生管理系統(tǒng)-錄入學(xué)員 {[nick]}")
print("-------------------------------------")
id = input("請輸入學(xué)號:").strip()
name = input("請輸入姓名:").strip()
age = input("請輸入年齡:").strip()
sex = input("請輸入性別:").strip()
grade = input("請輸入計算機(jī)成績:").strip()
print("-------------------------------------")
stu_dict[id] = {"id": id, "name": name, "age": age, "sex": sex, "grade": grade}
input("學(xué)員信息錄入成功,按任意鍵返回功能主頁")
return function_menu()
########################################################## 刪除學(xué)員函數(shù) ############
def delete():
print(f" 學(xué)生管理系統(tǒng)-刪除學(xué)員 {[nick]}")
print("-------------------------------------")
id = input("請輸入要刪除學(xué)員的學(xué)號:").strip()
print("------------------------------------------------------------------")
for stu in stu_dict.values():
if id == stu["id"]:
print("學(xué)號----+-----姓名----+-----年齡----+-----性別----+-----計算機(jī)成績----")
print(stu.get("id"), stu.get("name"), stu.get("age"),
stu.get("sex"), stu.get("grade"), sep="----+-----")
print("------------------------------------------------------------------")
confirm = input("確認(rèn)刪除(Y/N)?").upper()
if confirm == "Y":
stu_dict.pop(id)
input("學(xué)員信息刪除成功,按任意鍵返回功能主頁")
return function_menu()
else:
input("用戶取消了刪除操作,按任意鍵返回功能主頁")
return function_menu()
else:
input("不存在該學(xué)號對應(yīng)的學(xué)生,按任意鍵返回功能頁面!")
return function_menu()
########################################################## 修改學(xué)員信息函數(shù) ############
def update():
print(f" 學(xué)生管理系統(tǒng)-修改學(xué)員信息 {[nick]}")
print("-----------------------------------------")
id = input("請輸入要修改的學(xué)號:").strip()
print("------------------------------------------------------------------")
for stu in stu_dict.values():
if id == stu["id"]:
print("學(xué)號----+-----姓名----+-----年齡----+-----性別----+-----計算機(jī)成績----")
print(stu.get("id"), stu.get("name"), stu.get("age"),
stu.get("sex"), stu.get("grade"), sep="----+-----")
print("------------------------------------------------------------------")
ch = input("請輸入要修改的屬性(1.姓名 2.性別 3.年齡):").strip()
if ch == "1": # 修改姓名
name = input("請輸入新的姓名:").strip()
stu["name"] = name
elif ch == "2": # 修改性別
sex = input("請輸入新的性別:").strip()
stu["sex"] = sex
elif ch == "3": # 修改年齡
age = input("請輸入新的年齡:").strip()
stu["age"] = age
else:
input("輸入錯誤,按任意鍵返回功能主頁")
return function_menu()
input("修改完成,按任意鍵返回功能主頁")
return function_menu()
else:
input("沒有查詢到該編號的學(xué)員,按任意鍵返回功能主頁")
return function_menu()
########################################################## 查詢學(xué)員函數(shù) ############
def search():
print(f" 學(xué)生管理系統(tǒng)-查看所有學(xué)員 {[nick]}")
print("---------------------------------------------------------------------")
print("學(xué)號----+-----姓名----+-----年齡----+-----性別----+-----計算機(jī)成績----")
for stu in stu_dict.values():
print(stu.get("id"), stu.get("name"), stu.get("age"),
stu.get("sex"), stu.get("grade"), sep="----+-----")
print("---------------------------------------------------------------------")
input("按任意鍵返回功能主頁")
return function_menu()
########################################################## 首頁函數(shù) ############
def login_menu():
os.system("cls")
print(" 學(xué)生管理系統(tǒng)")
print("------------------------")
print("1.操作員登錄")
print("2.操作員注冊")
print("3.退出系統(tǒng)")
print("------------------------")
c = input("輸入您的選項(xiàng):").strip()
if c == "1":
return login_page()
elif c == "2":
return register_page()
elif c == "3":
return do_exit()
else:
input("輸入有誤,按任意鍵回到登錄菜單")
return login_menu()
########################################################## 程序入口 ############
if __name__ == "__main__":
login_menu()
2段代碼均來自網(wǎng)絡(luò),親測可用。小編6多年python開發(fā)經(jīng)驗(yàn),,有PYTHON需求的可以加微信web_445i。
未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » 2種Python學(xué)生單科成績信息管理系統(tǒng)