python課程設計--學生管理系統


系統要求

1.添加學生

2.刪除學生

3.修改學生信息

4.查詢學生

5.查看所有學生信息

6.學生信息數據的存儲與讀取

源碼:student.py

#coding:utf-8
  2 #定義學員類
  3 class student(object):
  4     #初始化實例對象的屬性
  5     def __init__(self,name,gender,tel):
  6         self.name = name 
  7         self.sex = gender
  8         self.tel = tel
  9     
 10     def __str__(self):
 11         return f"學員的名字:{self.name},學員的{self.sex},學    員的電話號碼{self.tel}"
 12                                                            
 13 

源碼:maneger.py

#coding:utf-8                                              
  2 from student import *
  3 class manager(object):
  4     def __init__(self):
  5         #存儲學生數據的列表
  6         self.student_list = []
  7 
  8     def show_menu(self):
  9         print("功能菜單...")
 10         print("1.添加學員")
 11         print("2.刪除學員")
 12         print("3.修改學員信息")
 13         print("4.查詢學員信息")
 14         print("5.顯示所有學員")
 15         print("6.保存學員信息.")
 16         print("7.退出系統")
 17     #程序入口
 18     def run(self):
 19         #加載學員信息
 20         self.load_student()
 21         while True:
 22             self.show_menu()
 23             #用戶輸入功能序號
 24             number = int(input("請輸入功能序號:"))
 25             if number == 1:
 26                 #添加學員
 27                 self.add_student()
 28             if number == 2:
 29                 #刪除學員
 30                 self.del_student()
 31             if number == 3:
 32                 #修改學生信息
 33                 self.change_student_info()
 34             if number == 4:
 35                 #查詢學生信息
 36                 self.seach_student()
 37             if number == 5:
 38                 #顯示所有學生信息
 39                 self.display_all_student()
 40             if number == 6:
 41                 #保存學生信息
 42                 self.save_student_info()
 43             if number == 7:
 44                 #退出系統
 45                 break
 46     #系統功能函數
 47     def show_menu(self):
 48         print("功能菜單...")
 49         print("1.添加學員")
 50         print("2.刪除學員")
 51         print("3.修改學員信息")
 52         print("4.查詢學員信息")
 53         print("5.顯示所有學員")
  print("6.保存學員信息.")
 55         print("7.退出系統")
 56 
 57     def add_student(self):
 58         name = input("請輸入學生姓名:")
 59         sex = input("請輸入學生的性別:")
 60         tel = input("請輸入學生的電話號碼:")
 61         #創建學員對象
 62         student1 = student(name,sex,tel)
 63         self.student_list.append(student1)
 64         print(self.student_list)
 65         print(student1)
 66 
 67     def del_student(self):
 68         remove_name = input("請輸入需要刪除的學生的姓名:")
 69         for i in self.student_list:
 70             if i.name == remove_name:
 71                 #直接移除一個對象
 72                 self.student_list.remove(i)
 73                 break
 74         else:
 75             print("查無此人")
 76         print(self.student_list)
 77 
 78     def change_student_info(self):
 79         change_name = input("請輸入學生姓名:")
 80         for i in self.student_list:
 81             if i.name == change_name:
 82                 i.name = input("新的姓名:")
 83                 i.sex = input("新的性別:")
 84                 i.tel = input("新的電話號碼:")
 85                 print(f"學員信息{i.name},{i.sex},{i.tel}")
 86                 break
 87         else:
 88             print("查無此人")
 89     
 90     def seach_student(self):
 91         seach_name = input("學生姓名:")
 92         for i in self.student_list:
 93             if i.name == seach_name:
 94                 print(f"學員信息{i.name},{i.sex},{i.tel}")
 95                 break
 96         else:
 97             print("查無此人")
 98 
 99     def display_all_student(self):
100         print("姓名\t性別\t手機號")
101         for i in self.student_list:
print(f"{i.name}\t{i.sex}\t{i.tel}")
103 
104     def save_student_info(self):
105         f = open("student.data","w")
106         #文件寫入學員數據
107         #注意:文件寫入的數據不能是學員對象的內存地址,需要
    把學員數據轉化成列表字典數據再做存儲
108         new_list = [i.__dict__ for i in self.student_list]#    列表解析
109         #[{"name":},{"sex":},{"tel":}]
110         f.write(str(new_list))
111         #關閉文件
112         f.close()
113     
114     def load_student(self):
115         #進行一個文件的檢測,看文件是否存在
116         try:
117             f = open("student.data","r")
118         except:
119             f = open("student.data","w")
120         else:
121             data = f.read()
122         #文件中讀取的數據都是字符串且字符串內部為字典,故需
    要轉換數據類型在轉換字典為對象后從存儲到學員列表
123             new_list = eval(data)
124             #字典轉化為對象,類似與c語言中的類型強轉       
125             self.student_list = [student(i["name"],i["sex"]    ,i["tel"]) for i in new_list]#列表解析
126         finally:
127             f.close()

源碼:main.py

 #conding:utf-8                                             
  2 #導入模塊
  3 from maneger import *
  4 
  5 #程序入口
  6 #保證當前文件運行才創建對象
  7 if __name__ == "__main__":
  8     student_manager = manager()
  9     student_manager.run()
 10 
#運行截圖
功能菜單...
1.添加學員
2.刪除學員
3.修改學員信息
4.查詢學員信息
5.顯示所有學員
6.保存學員信息.                                                
7.退出系統                                                     
請輸入功能序號:   

代碼還有許多可以優化的地方,比如在添加學員時進行名字是否重復的掃描等等。大家可以嘗試着去完善代碼。


免責聲明!

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



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