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