中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python面向對象怎么實現學生信息管理系統

發布時間:2022-06-06 09:37:02 來源:億速云 閱讀:184 作者:zzz 欄目:開發技術

今天小編給大家分享一下python面向對象怎么實現學生信息管理系統的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

1.主要內容

python種的.py文件如圖所示

第一個文件是用來管理文件中包中各個模塊的關系的文件

第二個文件是主函數文件,就是在主函數文件調用其余文件和模塊

第三個模塊式學生信息管理的模塊

第四個文件是用來存放學生數據的文件

第五個文件是學生信息的定義和顯示模塊

python面向對象怎么實現學生信息管理系統

2.實現代碼

1)第一個文件是包中的管理文件自動生成且不需要修改

2)main.py文件

from managerSystem import *#導入模塊managerSystem,可以使用其中的功能

if __name__=='__main__':#定義只能在運行main.py文件中運行,才執行的代碼
    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#此方法在執行時,不需要傳入任何參數
    def show_menu():
        print('請選擇如下序號:')
        print('1.添加學員')
        print('2.刪除學員')
        print('3.修改學員信息')
        print('4.查找學員')
        print('5.顯示學員信息')
        print('6.保存學員信息')
        print('7.退出系統')

    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 != '':  # 此時需要添加判斷文件是否為空,否則會發生報錯
                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面向對象怎么實現學生信息管理系統”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

玉环县| 普陀区| 什邡市| 元江| 常宁市| 怀远县| 邯郸市| 陕西省| 穆棱市| 灌阳县| 响水县| 富顺县| 南开区| 吴川市| 玛曲县| 迁安市| 黄浦区| 阜宁县| 修水县| 星子县| 容城县| 涿鹿县| 石柱| 同仁县| 永善县| 广元市| 洪泽县| 玛沁县| 开阳县| 建德市| 盐山县| 固镇县| 上思县| 磐石市| 广州市| 抚顺市| 聊城市| 同仁县| 澳门| 陇南市| 莒南县|