学生管理系统代码赏析
# 添加、刪除、顯示學生信息(保存)
?
# 保存所有學生信息
students = {}
# 創建
ID = 1000
# 控制系統是否退出
flag = True
?
?
# 從文件中讀取學生信息
def load_students():
??? # 加載學生信息從文件中
??? stu_file = open("students.txt","r")
??? # 讀取文件內容
??? stus = stu_file.readlines()
??? global students
?
?
??? # 解析文件數據
??? max_id = 0
??? for stu in stus:
??????? #去掉字符串最尾部的換行符\n
??????? stu_list =stu[0:-1].split(",")
??????? #學生信息轉成字典類型
??????? s_info = {}
??????? s_info["name"] = stu_list[1]
??????? s_info["score"] = stu_list[2]
?
??????? #將學生數據寫會students字典中
??????? id = int(stu_list[0])
??????? students[id] = s_info
??????? if id > max_id:
??????????? max_id = id
?
??????? ID = max_id
?
def save_students():
??? # 保存學生信息到文件
??? # 1.將每一個學生的信息,拼接成一個字符串
??? stu_info = []
??? stu_file = open("students.txt","w")
??? for k, v in students.items():
??????? stu_info.append(str(k))
??????? stu_info.append(v["name"])
??????? stu_info.append(v["score"])
??????? stu_data = ",".join(stu_info)
??????? stu_data = stu_data + "\n"
??????? stu_file.write(stu_data)
??????? stu_info.clear()
?
??? # 關閉文件
??? stu_file.close()
?
?
def add_student():
??? # 添加新學生
?
??? global students
??? global ID
?
??? stu_name = input("請輸入新學生的姓名:")
??? stu_score = input("請輸入新學生的分數:")
?
??? # 構建學生的字典
??? stu_info = {}
??? stu_info["name"] = stu_name
??? stu_info["score"] = stu_score
?
??? #遞增ID
??? ID += 1
??? # 將新學生添加學生字典中
??? students[ID] = stu_info
?
?
def show_students():
??? # 顯示所有學生信息
??? for k, v in students.items():
??????? print("學號:%d\t姓名:%s\t分數:%s"%(k, v["name"], v["score"]))
??? print("----------------")
?
?
defremove_student():
??? # 刪除學生信息根據學生編號
??? delete_id =int(input("請輸入要刪除學生的學號:"))
??? # 判斷要刪除學生的編號是否存在
??? global students
??? if delete_id in students.keys():
??????? del students[delete_id]
??????? print("刪除編號為%d的學生成功!" % delete_id)
??? else:
??????? print("您輸入的編號有誤!")
?
?
defshow_operation():
??? print("請選擇操作:")
??? print("1.添加學生")
??? print("2.刪除學生")
??? print("3.顯示學生")
??? print("4.退出系統")
??? print("------------")
?
?
# 加載數據
load_students()
while flag:
??? print("歡迎使用學生管理系統v1.0")
??? # 顯示菜單
??? show_operation()
??? operation = input("請輸入您的操作:")
??? if operation == "1":
??????? add_student()
??? elif operation == "2":
??????? remove_student()
??? elif operation == "3":
??????? show_students()
??? elif operation == "4":
??????? print("歡迎再次使用本系統!")
??????? flag = False
??????? save_students()
??? else:
??????? print("操作有誤,請重新輸入!")
總結
以上是生活随笔為你收集整理的学生管理系统代码赏析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 文献阅读:知识图谱数据管理研究综述
- 下一篇: 阿里云Redis读写分离典型场景:如何轻