Py學生信息管理系統 案例(優化版)



# 第一題:設計一個全局變量,來保存很多個學生信息;學生(學號, 姓名,年齡);思考要用怎樣的結構來保存;
# 第二題:在第一題基礎上,完成:讓用戶輸入一個新的學生信息(學號,姓名,年齡);你將其保存在全局變量中;並提供給用戶查看當前有多少個學生的功能;
# 第三題:向用戶提供根據學號查看指定學員具體信息,指定學號刪除學員功能

# 定一個列表,用來存儲所有的學生信息(每個學生是一個字典)
info_list = []

def print_menu():
print("=" * 42)
print("*" * 10 + "簡單的學生信息管理系統" + "*" * 10)
print("=" * 42)
print("1.添加學生信息")
print("2.刪除學生信息")
print("3.給定學號查詢學生信息")
print("4.顯示當前所有學生信息")
print("5.保存數據")
print("0.退出系統")
print("=" * 42)

def add_new_info():
"""添加學生信息"""
global info_list
new_sno = input("請輸入學生的學號:")
new_stuName = input("請輸入學生的姓名:")
new_sutAge = input("請輸入學生的年齡:")
for temp_info in info_list:
if temp_info['sno'] == new_sno:
print("此用戶名已經被占用,請重新輸入")
return # 如果一個函數只有return就相當於讓函數結束,沒有返回值
# 定義一個字典,用來存儲用戶的學生信息(這是一個字典)
info = {}
# 向字典中添加數據
info["sno"] = new_sno
info["name"] = new_stuName
info["age"] = new_sutAge
# 向列表中添加這個字典
info_list.append(info)

def del_info():
"""刪除學生信息"""
global info_list
del_sno = input("請輸入要刪除的學生學號:")
i = 0
for temp_info in info_list:
if temp_info['sno'] == del_sno:
del_flag = input("你確定要刪除么?(yes or no)")
if del_flag == "yes":
del info_list[i]
print("\n\n刪除成功!")
else:
print("輸入學號有誤,請重新輸入")
i += 1

def search_info():
"""查詢學生信息"""
search_sno = input("請輸入要查詢的學生學號:")
for temp_info in info_list:
if temp_info['sno'] == search_sno:
print("查詢到的信息如下:")
print("sno:%s, stuName:%s, stuAge:%s" % (temp_info['sno'],
temp_info['name'], temp_info['age']))
break
else:
print("沒有您要找的信息....")

def print_all_info():
"""遍歷學生信息查詢當前所有學生信息"""
print("序號\t學號\t\t姓名\t\t年齡")
i = 0
for temp in info_list:
# temp是一個字典
print("%d\t%s\t\t%s\t\t%s" % (i, temp['sno'], temp['name'], temp['age']))
i += 1

def save_data():
"""加載之前存儲的數據"""
f = open("info_data.data","w")
f.write(str(info_list))
f.close()


def load_data():
global info_list
"""加載之前存儲的數據"""
f = open("info_data.data")
content = f.read()
info_list = eval(content)
f.close()

def main():
"""用來控制整個流程"""
# 加載數據(先存好數據再打開這個就可以直接讀數據了)
# load_data()
while True:
# 1. 打印功能
print_menu()
# 2. 獲取用戶的選擇
key = input("請輸入要進行的操作(數字):")
# 3. 根據用戶選擇,做相應的事情
if key == "1":
# 添加學生
add_new_info()
elif key == "2":
# 刪除學生
del_info()
elif key == "3":
# 給定學號查詢學生信息
search_info()
elif key == "4":
# 遍歷所有的信息
print_all_info()
elif key == "5":
# 保存數據
save_data()
elif key == "0":
# 退出系統
exit_flag = input("你確定要退出么?(yes or no) ")
if exit_flag == "yes":
break
else:
print("輸入有誤,請重新輸入......")
input("\n\n\n按回車鍵繼續....")
continue
# 程序的開始
main()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM