溫馨提示×

溫馨提示×

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

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

python面向?qū)ο笤趺磳崿F(xiàn)學生信息管理系統(tǒng)

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

今天小編給大家分享一下python面向?qū)ο笤趺磳崿F(xiàn)學生信息管理系統(tǒng)的相關知識點,內(nèi)容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

1.主要內(nèi)容

python種的.py文件如圖所示

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

第二個文件是主函數(shù)文件,就是在主函數(shù)文件調(diào)用其余文件和模塊

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

第四個文件是用來存放學生數(shù)據(jù)的文件

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

python面向?qū)ο笤趺磳崿F(xiàn)學生信息管理系統(tǒng)

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('請輸入數(shù)字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í)行時,不需要傳入任何參數(shù)
    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. 讀取數(shù)據(jù):文件讀取出的數(shù)據(jù)是字符串還原列表類型;[{}] 轉(zhuǎn)換 [學員對象]
            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)存儲數(shù)據(jù)的文件不需要編輯

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面向?qū)ο笤趺磳崿F(xiàn)學生信息管理系統(tǒng)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

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

AI