def print_menue():
print("----------")
print("學生管理系統")
print("1:添加學生")
print("2:刪除學生")
print("3:修改學生")
print("4:查詢學生")
print("5:顯示所有學生")
print("6:退出系統")
print("-----------")
# 列表存儲多個學生字典
student_info = []
# 字典存儲一個學生信息
student_message = {}
def add_info():
name = input("輸入姓名:")
tel = input("輸入電話:")
qq = input("輸入QQ號:")
global student_message
student_message["name"] = name
student_message["tel"] = tel
student_message["QQ"] = qq
global student_info
# 查重
for i in student_info:
# 通過i取出列表中的每個元素
if i["name"] == name and i["tel"] == tel:
print("信息重複!")
return
# 將信息添加到列表中
student_info.append(student_message)
print("添加成功!")
def search_info():
name = input("輸入姓名:")
flag = 0
for i in student_info:
if i["name"] == name:
print("name:", i["name"])
print("tel:", i["tel"])
print("QQ:", i["QQ"])
flag = 1
if flag == 0:
print("未查詢到相關信息!")
def del_info():
name = input("輸入待刪除人姓名:")
tel = input("輸入待刪除人電話號碼:")
# for-else用法
for i in student_info:
if i["name"] == name and i["tel"] == tel:
# remove是按照值刪除
student_info.remove(i)
break
# 此處的else和for對應使用
# for循環使用break退出後就不執行else了
else:
print("未查詢到對應學員!")
def modifty_info():
name = input("輸入姓名:")
tel = input("輸入電話號碼:")
flag = 0
for i in student_info:
# 因爲地址一樣所以可以牽連列表內數據一起改動。
if i["name"] == name and i["tel"] == tel:
name = input("輸入修改後的姓名:")
tel = input("輸入修改後的電話號碼:")
i["name"] = name
i["tel"] = tel
print("修改成功")
break
else:
print("查無此人!")
def print_all_info():
for i in student_info:
print("name tel QQ")
print("%s %s %s" % (i["name"], i["tel"], i["QQ"]))
def load_data():
file_path = open("./student.txt", "r", encoding="utf8")
data = file_path.read()
file_path.close()
if len(data) == 0:
return
# eval可以將字符串還原爲原始數據類型
# 相當於去掉前後的“,還原爲原始情況
data = eval(data)
for i in data:
student_info.append(i)
def save_data():
file_path = open("./student.txt", "w", encoding="utf8")
# 將列表轉化爲字符串存入.txt文件中。
data = str(student_info)
file_path.write(data)
file_path.close()
def main():
# 程序入口
# 從文件中讀取數據
load_data()
while True:
print_menue()
num = int(input("輸入需要的功能:"))
if num == 1:
add_info()
elif num == 2:
del_info()
elif num == 3:
modifty_info()
elif num == 4:
search_info()
elif num == 5:
print_all_info()
elif num == 6:
print("再見!")
break
else:
print("輸入錯誤")
input("~~~~輸入回車繼續~~~~")
# 保存數據到文件中
save_data()
# 程序開始
main()
python實現學生管理系統(文件管理)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.