c盤清理的步驟是什么(如何清理C盤空間)
如何清理C盤空間怎么清理C盤的垃圾文件?每天上網會給電腦帶來很多臨時文件,這些垃圾文件不清理掉時間久了就會影響到電腦的運行速度。那怎
2022/12/08
【資料圖】
使??向對象編程思想完成學員管理系統的開發,具體如下:系統要求:學員數據存儲在?件中系統功能:添加學員、刪除學員、修改學員信息、查詢學員信息、顯示所有學員信息、保存學員信息及退出系統等功能。
??分析 學員 管理系統?作中注意事項1. 為了?便維護代碼,?般?個???個程序?件;2. 項?要有主程序??,習慣為 main.py
創建項??錄,例如: StudentManagerSystem程序?件如下:程序???件:main.py學員?件:student.py管理系統?件:managerSystem.py
需求:學員信息包含:姓名、性別、?機號;添加 __str__ 魔法?法,?便查看學員對象信息class Student(object): def __init__(self, name, gender, tel): self.name = name self.gender = gender self.tel = tel def __str__(self): return f"{self.name}, {self.gender}, {self.tel}"
需求:存儲數據的位置:?件(student.data) 加載?件數據 修改數據后保存到?件存儲數據的形式:列表存儲學員對象系統功能 添加學員 刪除學員 修改學員 查詢學員信息 顯示所有學員信息 保存學員信息 退出系統
class StudentManager(object): def __init__(self): # 存儲數據所?的列表 self.student_list = []
需求:系統功能循環使?,?戶輸?不同的功能序號執?不同的功能。步驟 定義程序??函數 加載數據 顯示功能菜單 ?戶輸?功能序號 根據?戶輸?的功能序號執?不同的功能 定義系統功能函數,添加、刪除學員等 class StudentManager(object): def __init__(self): # 存儲數據所?的列表 self.student_list = [] # ?. 程序??函數,啟動程序后執?的函數 def run(self): # 1. 加載學員信息 self.load_student() while True: # 2. 顯示功能菜單 self.show_menu() # 3. ?戶輸?功能序號 menu_num = int(input("請輸?您需要的功能序號:")) # 4 根據?戶輸?的功能序號執?不同的功能 if menu_num == 1: # 添加學員 self.add_student() elif menu_num == 2: # 刪除學員 self.del_student() elif menu_num == 3: # 修改學員信息 self.modify_student() elif menu_num == 4: # 查詢學員信息 self.search_student() elif menu_num == 5: # 顯示所有學員信息 self.show_student() elif menu_num == 6: # 保存學員信息 self.save_student() elif menu_num == 7: # 退出系統 break # ?. 定義功能函數 # 2.1 顯示功能菜單 @staticmethod def show_menu(): print("請選擇如下功能-----------------") print("1:添加學員") print("2:刪除學員") print("3:修改學員信息") print("4:查詢學員信息") print("5:顯示所有學員信息") print("6:保存學員信息") print("7:退出系統") # 2.2 添加學員 def add_student(self): pass # 2.3 刪除學員 def del_student(self): pass # 2.4 修改學員信息 def modify_student(self): pass # 2.5 查詢學員信息 def search_student(self): pass # 2.6 顯示所有學員信息 def show_student(self): pass # 2.7 保存學員信息 def save_student(self): pass # 2.8 加載學員信息 def load_student(self): pass
# 1. 導?managerSystem模塊from managerSystem import *# 2. 啟動學員管理系統if __name__ == "__main__": student_manager = StudentManager() student_manager.run()
需求:?戶輸?學員姓名、性別、?機號,將學員添加到系統。步驟 ?戶輸?姓名、性別、?機號 創建該學員對象 將該學員對象添加到列表代碼# 添加學員函數內部需要創建學員對象,故先導?student模塊from student import *class StudentManager(object): ...... # 2.2 添加學員 def add_student(self): # 1. ?戶輸?姓名、性別、?機號 name = input("請輸?您的姓名:") gender = input("請輸?您的性別:") tel = input("請輸?您的?機號:") # 2. 創建學員對象:先導?學員模塊,再創建對象 student = Student(name, gender, tel) # 3. 將該學員對象添加到列表 self.student_list.append(student) # 打印信息 print(self.student_list) print(student)
需求:?戶輸??標學員姓名,如果學員存在則刪除該學員。步驟 ?戶輸??標學員姓名 遍歷學員數據列表,如果?戶輸?的學員姓名存在則刪除,否則則提示該學員不存在。代碼# 2.3 刪除學員:刪除指定姓名的學員 def del_student(self): # 1. ?戶輸??標學員姓名 del_name = input("請輸?要刪除的學員姓名:") # 2. 如果?戶輸?的?標學員存在則刪除,否則提示學員不存在 for i in self.student_list: if i.name == del_name: self.student_list.remove(i) break else: print("查?此?!") # 打印學員列表,驗證刪除功能 print(self.student_list)
需求:?戶輸??標學員姓名,如果學員存在則修改該學員信息。步驟 ?戶輸??標學員姓名; 遍歷學員數據列表,如果?戶輸?的學員姓名存在則修改學員的姓名、性別、?機號數據,否則則提示該學員不存在。代碼# 2.4 修改學員信息 def modify_student(self): # 1. ?戶輸??標學員姓名 modify_name = input("請輸?要修改的學員的姓名:") # 2. 如果?戶輸?的?標學員存在則修改姓名、性別、?機號等數據,否則提示學員不存在 for i in self.student_list: if i.name == modify_name: i.name = input("請輸?學員姓名:") i.gender = input("請輸?學員性別:") i.tel = input("請輸?學員?機號:") print(f"修改該學員信息成功,姓名{i.name},性別{i.gender}, ?機號{i.tel}") break else: print("查?此?!")
需求:?戶輸??標學員姓名,如果學員存在則打印該學員信息步驟 ?戶輸??標學員姓名 遍歷學員數據列表,如果?戶輸?的學員姓名存在則打印學員信息,否則提示該學員不存在。代碼# 2.5 查詢學員信息 def search_student(self): # 1. ?戶輸??標學員姓名 search_name = input("請輸?要查詢的學員的姓名:") # 2. 如果?戶輸?的?標學員存在,則打印學員信息,否則提示學員不存在 for i in self.student_list: if i.name == search_name: print(f"姓名{i.name},性別{i.gender}, ?機號{i.tel}") break else: print("查?此?!")
打印所有學員信息步驟 遍歷學員數據列表,打印所有學員信息代碼# 2.6 顯示所有學員信息 def show_student(self): print("姓名\t性別\t?機號") for i in self.student_list: print(f"{i.name}\t{i.gender}\t{i.tel}")
需求:將修改后的學員數據保存到存儲數據的?件。步驟 打開?件 ?件寫?數據 關閉?件思考1. ?件寫?的數據是學員對象的內存地址嗎?2. ?件內數據要求的數據類型是什么?拓展 __dict__class A(object): a = 0 def __init__(self): self.b = 1aa = A()# 返回類內部所有屬性和?法對應的字典print(A.__dict__)# 返回實例屬性和值組成的字典print(aa.__dict__)代碼# 2.7 保存學員信息 def save_student(self): # 1. 打開?件 f = open("student.data", "w") # 2. ?件寫?學員數據 # 注意1:?件寫?的數據不能是學員對象的內存地址,需要把學員數據轉換成列表字典數據再做存儲 new_list = [i.__dict__ for i in self.student_list] # [{"name": "aa", "gender": "nv", "tel": "111"}] print(new_list) # 注意2:?件內數據要求為字符串類型,故需要先轉換數據類型為字符串才能?件寫?數據 f.write(str(new_list)) # 3. 關閉?件 f.close()
需求:每次進?系統后,修改的數據是?件??的數據步驟 嘗試以 "r" 模式打開學員數據?件,如果?件不存在則以 "w" 模式打開?件 如果?件存在則讀取數據并存儲數據 讀取數據 轉換數據類型為列表并轉換列表內的字典為對象 存儲學員數據到學員列表 關閉?件代碼# 2.8 加載學員信息 def load_student(self): # 嘗試以"r"模式打開數據?件,?件不存在則提示?戶;?件存在(沒有異常)則讀取數據 try: f = open("student.data", "r") except: f = open("student.data", "w") else: # 1. 讀取數據 data = f.read() # 2. ?件中讀取的數據都是字符串且字符串內部為字典數據,故需要轉換數據類型再轉換字典為對象后存儲到學員列表 new_list = eval(data) self.student_list = [Student(i["name"], i["gender"], i["tel"]) for i in new_list] finally: # 3. 關閉?件 f.close()