python實現(xiàn)學生信息管理系統(tǒng)(面向對象)
本文實例為大家分享了python實現(xiàn)學生信息管理系統(tǒng)的具體代碼,供大家參考,具體內容如下
1.主要內容
python種的.py文件如圖所示
第一個文件是用來管理文件中包中各個模塊的關系的文件
第二個文件是主函數文件,就是在主函數文件調用其余文件和模塊
第三個模塊式學生信息管理的模塊
第四個文件是用來存放學生數據的文件
第五個文件是學生信息的定義和顯示模塊
2.實現(xiàn)代碼
1)第一個文件是包中的管理文件自動生成且不需要修改
2)main.py文件
from managerSystem import *#導入模塊managerSystem,可以使用其中的功能 if __name__=='__main__':#定義只能在運行main.py文件中運行,才執(zhí)行的代碼 ? ? student_manager=StudentManager() ? ? student_manager.run()
3)學生信息管理模塊
from student import * class StudentManager(object): ? ? def __init__(self): ? ? ? ? self.student_list = [] ? ? def run(self): ? ? ? ? self.load_student() ? ? ? ? while True: ? ? ? ? ? ? self.show_menu() ? ? ? ? ? ? ret = int(input('請輸入數字1——7:')) ? ? ? ? ? ? if ret == 1: ? ? ? ? ? ? ? ? self.add_student() ? ? ? ? ? ? elif ret == 2: ? ? ? ? ? ? ? ? self.del_student() ? ? ? ? ? ? elif ret == 3: ? ? ? ? ? ? ? ? self.modify_student() ? ? ? ? ? ? elif ret == 4: ? ? ? ? ? ? ? ? self.search_student() ? ? ? ? ? ? elif ret == 5: ? ? ? ? ? ? ? ? self.show_student() ? ? ? ? ? ? elif ret == 6: ? ? ? ? ? ? ? ? self.save_student() ? ? ? ? ? ? elif ret == 7: ? ? ? ? ? ? ? ? break ? ? @staticmethod#此方法在執(zhí)行時,不需要傳入任何參數 ? ? def show_menu(): ? ? ? ? print('請選擇如下序號:') ? ? ? ? print('1.添加學員') ? ? ? ? print('2.刪除學員') ? ? ? ? print('3.修改學員信息') ? ? ? ? print('4.查找學員') ? ? ? ? print('5.顯示學員信息') ? ? ? ? print('6.保存學員信息') ? ? ? ? print('7.退出系統(tǒng)') ? ? def add_student(self): ? ? ? ? name = input('請輸入學員姓名:') ? ? ? ? gender = input('請輸入學員性別:') ? ? ? ? tel = input('請輸入電話號碼:') ? ? ? ? student = Student(name, gender, tel) ? ? ? ? self.student_list.append(student) ? ? ? ? # print(self.student_list) ? ? ? ? # print(student) ? ? def del_student(self): ? ? ? ? del_name = input('請輸入需要刪除的學員姓名:') ? ? ? ? for i in self.student_list: ? ? ? ? ? ? if i.name == del_name: ? ? ? ? ? ? ? ? self.student_list.remove(i) ? ? ? ? ? ? ? ? break ? ? ? ? else: ? ? ? ? ? ? print('查無此人') ? ? ? ? # print(self.student_list) ? ? def modify_student(self): ? ? ? ? modify_name = input('請輸入需要修改的學員姓名:') ? ? ? ? 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('需要修改的學員不存在') ? ? def search_student(self): ? ? ? ? searce_name = input('請輸入需要查詢的學員姓名:') ? ? ? ? for i in self.student_list: ? ? ? ? ? ? if i.name == searce_name: ? ? ? ? ? ? ? ? print(f'姓名:{i.name},性別:{i.gender},手機號:{i.tel}') ? ? ? ? ? ? ? ? break ? ? ? ? else: ? ? ? ? ? ? print('查無此人') ? ? def show_student(self): ? ? ? ? print('姓名:\t性別:\t手機號:') ? ? ? ? for i in self.student_list: ? ? ? ? ? ? print(f'{i.name}\t{i.gender}\t{i.tel}') ? ? def save_student(self): ? ? ? ? f = open('student.data', 'w') ? ? ? ? new_list = [i.__dict__ for i in self.student_list] ? ? ? ? print(new_list) ? ? ? ? f.write(str(new_list)) ? ? ? ? f.close() ? ? def load_student(self): ? ? ? ? # 1. 打開文件:嘗試r打開,如果有異常w ? ? ? ? try: ? ? ? ? ? ? f = open('student.data', 'r') ? ? ? ? except: ? ? ? ? ? ? f = open('student.data', 'w') ? ? ? ? else: ? ? ? ? ? ? # 2. 讀取數據:文件讀取出的數據是字符串還原列表類型;[{}] 轉換 [學員對象] ? ? ? ? ? ? data = f.read() ?# 字符串 ? ? ? ? ? ? if data != '': ?# 此時需要添加判斷文件是否為空,否則會發(fā)生報錯 ? ? ? ? ? ? ? ? new_list = eval(data) ? ? ? ? ? ? ? ? self.student_list = [Student(i['name'], i['gender'], i['tel']) for i in new_list] ? ? ? ? finally: ? ? ? ? ? ? # 3. 關閉文件 ? ? ? ? ? ? f.close()
4)存儲數據的文件不需要編輯
5)student.py文件主要是用來存放學生的主要信息的模塊,以及可以查看學生信息的方法
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}'
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
python gensim使用word2vec詞向量處理中文語料的方法
這篇文章主要介紹了python gensim使用word2vec詞向量處理中文語料的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07Python Pygame實戰(zhàn)之水果忍者游戲的實現(xiàn)
大家還記得水果忍者這個游戲嗎?想當年,這也是個風靡全國的游戲,基本每個人都玩過。今天小編就用Python中的Pygame庫復刻這一經典游戲,需要的可以參考一下2022-02-02Python中出現(xiàn)"No?module?named?'requests'"
這篇文章主要給大家介紹了關于Python中出現(xiàn)"No?module?named?'requests'"的解決辦法,"No?module?named?requests"是Python報錯提示,意味著你在使用某個Python程序或腳本時,沒有找到名為requests的模塊,需要的朋友可以參考下2023-11-11