23 python實現學生管理系統(文件版)


  1 import time
  2 import os
  3 
  4 # 定義一個列表,用來存儲所有的學生信息(每個學生是一個字典)
  5 stu_info = []
  6 
  7 # 打印操作提示命令的函數
  8 def print_menu():
  9     print("---------------------------")
 10     print("      學生管理系統 V1.0")
 11     print(" 1:添加學生")
 12     print(" 2:刪除學生")
 13     print(" 3:修改學生")
 14     print(" 4:查詢學生")
 15     print(" 5:顯示所有學生")
 16     print(" 6:保存數據")
 17     print(" 7:退出系統")
 18     print("---------------------------")
 19 
 20 def add_info():
 21     """添加學生信息"""
 22     global stu_info       # 學生信息列表成為全局變量
 23 
 24     add_name = input("請輸入姓名:")
 25     add_tel = input("請輸入電話號碼:")
 26     add_qq = input("請輸入QQ:")
 27 
 28     # 判斷是否可以添加(所要添加的名字在列表中沒有才可以添加)
 29     for info in stu_info:
 30         if info['name'] == add_name:
 31             print("此用戶名已經被占用,請重新輸入")
 32             return   # 如果一個函數只有 return ,就相當於讓函數結束,沒有返回值
 33 
 34     # 定義一個字典,用來存儲添加的學生信息
 35     info = {}
 36 
 37     # 向字典中添加數據
 38     info["name"] = add_name
 39     info["tel"] = add_tel
 40     info["qq"] = add_qq
 41 
 42     # 向列表中添加這個字典
 43     stu_info.append(info)
 44     print("添加成功,按6保存后按5查看")
 45 
 46 def del_info():
 47     """刪除學生信息"""
 48     global stu_info
 49 
 50     del_id = int(input("請輸入要刪除的序號:"))
 51     # 判斷是否可以刪除,(刪除的學號范圍限制)
 52     if 0 <= del_id < len(stu_info):
 53         del_flag = input("確定刪除?yes or no:")
 54         if del_flag == 'yes':
 55             del stu_info[del_id]
 56             print("刪除成功,按6保存后按5查看")
 57     else:
 58         print("輸入序號有誤,請重新輸入")
 59 
 60 def modify_info():
 61     """修改學生信息"""
 62     global stu_info
 63 
 64     modify_id = int(input("請輸入要修改的序號:"))
 65     # 判斷是否可以修改(輸入的學號范圍限制)
 66     if 0 <= modify_id < len(stu_info):
 67         print("你要修改的信息是:")
 68         print("name:%s,tel:%s,QQ:%s" %
 69               (stu_info[modify_id]["name"], stu_info[modify_id]["tel"], stu_info[modify_id]["qq"]))
 70         mod_info = input("您要修改的信息是:")
 71         stu_info[modify_id][mod_info] = input("請輸入新的%s:" % mod_info)
 75         print("修改成功,按6保存后按5查看")
 76     else:
 77         print("輸入序號有誤:請重新輸入")
 78 
 79 def query_info():
 80     """查詢學生信息"""
 81     query_name = input("請輸入要查詢學生姓名:")
 82     for info in stu_info:
 83         if info["name"] == query_name:
 84             print("查詢到的信息如下")
 85             print("name:%s,tel:%s,QQ:%s" % (info["name"], info["tel"], info["qq"]))
          break # 不使用break退出循環,else后的語句一定被打印
86 else: 87 print("沒有您要找的信息") 88 89 def show_all(): 90 """顯示所有學生信息""" 91 print("序號\t\t姓名\t\t手機號\t\tQQ") 92 i = 0 93 for info in stu_info: 94 print("%d\t\t%s\t\t%s\t\t%s" % (i, info['name'], info['tel'], info['qq'])) 95 i += 1 96 97 def sava_data(): 98 """保存數據""" 99 f = open("info.txt", 'w') 100 f.write(str(stu_info)) 101 f.close() 102 103 def load_data(): 104 """加載數據""" 105 global stu_info 106 f = open("info.txt") 107 content = f.read() 108 stu_info = eval(content) 109 f.close() 110 111 def main(): 112 """用來控制整個流程""" 113 114 # 加載數據(一次即可) 115 load_data() 116 117 while True: 118 # 1,打印功能 119 print_menu() 120 # 2,獲取用戶的選擇 121 num=input("請輸入要進行的操作(數字):") 122 # 3,根據用戶的選擇,做相應的事情 123 if num == '1': 124 add_info() 125 elif num == '2': 126 del_info() 127 elif num == '3': 128 modify_info() 129 elif num == '4': 130 query_info() 131 elif num == '5': 132 show_all() 133 elif num == '6': 134 sava_data() 135 elif num == '7': 136 # 退出系統 137 exit_flag = input("確定要退出嗎?yes or no") 138 if exit_flag == 'yes': 139 break 140 else: 141 print("請輸入正確的操作序號:") 142 143 # input("按回車鍵繼續...") 144 145 # 程序的開始 146 main()

准備:

需要准備一個 info.txt 文件,並且 在其中寫入 一對 [ ] 

操作演示:

①添加學生

C:\Users\高萍\AppData\Local\Programs\Python\Python37\python.exe C:/Users/高萍/Desktop/python/寒假直播課/code/學生管理系統(文件版).py
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):5
序號		姓名		手機號		QQ
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):1
請輸入姓名:張三
請輸入電話號碼:12345678
請輸入QQ:zhangsan123
添加成功,按6保存后按5查看
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):6
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):5
序號		姓名		手機號		QQ
0		張三		12345678		zhangsan123
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):

②刪除學生

C:\Users\高萍\AppData\Local\Programs\Python\Python37\python.exe C:/Users/高萍/Desktop/python/寒假直播課/code/學生管理系統(文件版).py
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):5
序號		姓名		手機號		QQ
0		張三		12345678		zhangsan123
1		李四		12345		lisi123
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):2
請輸入要刪除的序號:1
確定刪除?yes or no:yes
刪除成功,按6保存后按5查看
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):6
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):5
序號		姓名		手機號		QQ
0		張三		12345678		zhangsan123
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):

③修改學生

C:\Users\高萍\AppData\Local\Programs\Python\Python37\python.exe C:/Users/高萍/Desktop/python/寒假直播課/code/學生管理系統(文件版).py
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):5
序號		姓名		手機號		QQ
0		張三		12345678		zhangsan123
1		jack		123		jack123
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):3
請輸入要修改的序號:1
你要修改的信息是:
name:jack,tel:123,QQ:jack123
您要修改的信息是:name
請輸入新的name:sally
修改成功,按6保存后按5查看
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):6
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):5
序號		姓名		手機號		QQ
0		張三		12345678		zhangsan123
1		sally		123		jack123
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):

④查詢學生

C:\Users\高萍\AppData\Local\Programs\Python\Python37\python.exe C:/Users/高萍/Desktop/python/寒假直播課/code/學生管理系統(文件版).py
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):5
序號		姓名		手機號		QQ
0		張三		12345678		zhangsan123
1		sally		123		jack123
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):4
請輸入要查詢學生姓名:張三
查詢到的信息如下
name:張三,tel:12345678,QQ:zhangsan123
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):

⑤顯示所有學生

⑥保存數據

⑦退出系統

C:\Users\高萍\AppData\Local\Programs\Python\Python37\python.exe C:/Users/高萍/Desktop/python/寒假直播課/code/學生管理系統(文件版).py
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):5
序號		姓名		手機號		QQ
0		張三		12345678		zhangsan123
1		sally		123		jack123
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):7
確定要退出嗎?yes or no:yes

Process finished with exit code 0

 

若想要修改多個信息

  1 import time
  2 import os
  3 
  4 # 定義一個列表,用來存儲所有的學生信息(每個學生是一個字典)
  5 stu_info = []
  6 
  7 # 打印操作提示命令的函數
  8 def print_menu():
  9     print("---------------------------")
 10     print("      學生管理系統 V1.0")
 11     print(" 1:添加學生")
 12     print(" 2:刪除學生")
 13     print(" 3:修改學生")
 14     print(" 4:查詢學生")
 15     print(" 5:顯示所有學生")
 16     print(" 6:保存數據")
 17     print(" 7:退出系統")
 18     print("---------------------------")
 19 
 20 def add_info():
 21     """添加學生信息"""
 22     global stu_info       # 學生信息列表成為全局變量
 23 
 24     add_name = input("請輸入姓名:")
 25     add_tel = input("請輸入電話號碼:")
 26     add_qq = input("請輸入QQ:")
 27 
 28     # 判斷是否可以添加(所要添加的名字在列表中沒有才可以添加)
 29     for info in stu_info:
 30         if info['name'] == add_name:
 31             print("此用戶名已經被占用,請重新輸入")
 32             return   # 如果一個函數只有 return ,就相當於讓函數結束,沒有返回值
 33 
 34     # 定義一個字典,用來存儲添加的學生信息
 35     info = {}
 36 
 37     # 向字典中添加數據
 38     info["name"] = add_name
 39     info["tel"] = add_tel
 40     info["qq"] = add_qq
 41 
 42     # 向列表中添加這個字典
 43     stu_info.append(info)
 44     print("添加成功,按6保存后按5查看")
 45 
 46 def del_info():
 47     """刪除學生信息"""
 48     global stu_info
 49 
 50     del_id = int(input("請輸入要刪除的序號:"))
 51     # 判斷是否可以刪除,(刪除的學號范圍限制)
 52     if 0 <= del_id < len(stu_info):
 53         del_flag = input("確定刪除?yes or no:")
 54         if del_flag == 'yes':
 55             del stu_info[del_id]
 56             print("刪除成功,按6保存后按5查看")
 57     else:
 58         print("輸入序號有誤,請重新輸入")
 59 
 60 def modify_info():
 61     """修改學生信息"""
 62     global stu_info
 63 
 64     modify_id = int(input("請輸入要修改的序號:"))
 65     # 判斷是否可以修改(輸入的學號范圍限制)
 66     if 0 <= modify_id < len(stu_info):
 67         print("你要修改的信息是:")
 68         print("name:%s,tel:%s,QQ:%s" %
 69               (stu_info[modify_id]["name"], stu_info[modify_id]["tel"], stu_info[modify_id]["qq"]))
 70         # mod_info = input("您要修改的信息是:")
 71         # stu_info[modify_id][mod_info] = input("請輸入新的%s:" % mod_info)
 72         stu_info[modify_id]['name'] = input("請輸入新的姓名:") 73 stu_info[modify_id]['tel'] = input("請輸入新的電話:") 74 stu_info[modify_id]['QQ'] = input("請輸入新的QQ")  75         print("修改成功,按6保存后按5查看")
 76     else:
 77         print("輸入序號有誤:請重新輸入")
 78 
 79 def query_info():
 80     """查詢學生信息"""
 81     query_name = input("請輸入要查詢學生姓名:")
 82     for info in stu_info:
 83         if info["name"] == query_name:
 84             print("查詢到的信息如下")
 85             print("name:%s,tel:%s,QQ:%s" % (info["name"], info["tel"], info["qq"]))
 86             break # 如果不使用break結束循環,else后的語句一定會被打印
 87         else:
 88             print("沒有您要找的信息")
 89 
 90 def show_all():
 91     """顯示所有學生信息"""
 92     print("序號\t\t姓名\t\t手機號\t\tQQ")
 93     i = 0
 94     for info in stu_info:
 95         print("%d\t\t%s\t\t%s\t\t%s" % (i, info['name'], info['tel'], info['qq']))
 96         i += 1
 97 
 98 def sava_data():
 99     """保存數據"""
100     f = open("info.txt", 'w')
101     f.write(str(stu_info))
102     f.close()
103 
104 def load_data():
105     """加載數據"""
106     global stu_info
107     f = open("info.txt")
108     content = f.read()
109     stu_info = eval(content)
110     f.close()
111 
112 def main():
113     """用來控制整個流程"""
114 
115     # 加載數據(一次即可)
116     load_data()
117 
118     while True:
119         # 1,打印功能
120         print_menu()
121         # 2,獲取用戶的選擇
122         num=input("請輸入要進行的操作(數字):")
123         # 3,根據用戶的選擇,做相應的事情
124         if num == '1':
125             add_info()
126         elif num == '2':
127             del_info()
128         elif num == '3':
129             modify_info()
130         elif num == '4':
131             query_info()
132         elif num == '5':
133             show_all()
134         elif num == '6':
135             sava_data()
136         elif num == '7':
137             # 退出系統
138             exit_flag = input("確定要退出嗎?yes or no:")
139             if exit_flag == 'yes':
140                 break
141         else:
142             print("請輸入正確的操作序號:")
143 
144         # input("按回車鍵繼續...")
145 
146 # 程序的開始
147 main()

 

 

演示:

C:\Users\高萍\AppData\Local\Programs\Python\Python37\python.exe C:/Users/高萍/Desktop/python/寒假直播課/code/學生管理系統(文件版).py
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):5
序號		姓名		手機號		QQ
0		張三		12345678		zhangsan123
1		sally		123		jack123
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):3
請輸入要修改的序號:1
你要修改的信息是:
name:sally,tel:123,QQ:jack123
請輸入新的姓名:sally2
請輸入新的電話:1234
請輸入新的QQsally123
修改成功,按6保存后按5查看
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):6
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):5
序號		姓名		手機號		QQ
0		張三		12345678		zhangsan123
1		sally2		1234		jack123
---------------------------
      學生管理系統 V1.0
 1:添加學生
 2:刪除學生
 3:修改學生
 4:查詢學生
 5:顯示所有學生
 6:保存數據
 7:退出系統
---------------------------
請輸入要進行的操作(數字):

  


免責聲明!

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



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