校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Python實現學生管理系統的完整代碼(面向對象)

Python實現學生管理系統的完整代碼(面向對象)

熱門標簽:淮安呼叫中心外呼系統如何 看懂地圖標注方法 京華圖書館地圖標注 廣東旅游地圖標注 蘇州人工外呼系統軟件 打印谷歌地圖標注 佛山通用400電話申請 電話外呼系統招商代理 電話機器人貸款詐騙

前言

這個只是使用面向對象的方法寫的 構思和學生管理系統(JSON模塊)是一樣的

file_manager.py

"""
Project: ClassStudent
Creator: 貓貓
Create time: 2021-03-04 08:18
IDE: PyCharm
Introduction:https://blog.csdn.net/Cantevenl/article/details/115439530
"""
base_dir = 'files/'  # 定義一個變量 文件路徑

# 讀文件的函數
def read_file(file_name):
    try:
        with open(base_dir + file_name, 'r', encoding='utf8') as file:
            content = file.read()
            return content
    except FileNotFoundError:
        print('文件未找到')

def write_file(file_name):
    with open(base_dir + file_name, 'w', encoding='utf8') as file:
        pass

def write_json(file_name, data):
    with open(base_dir + file_name, 'w', encoding='utf8') as file:
        import json
        json.dump(data, file)

def read_json(file_name, default_data):
    try:
        with open(base_dir + file_name, 'r', encoding='utf8') as file:
            import json
            return json.load(file)
    except FileNotFoundError:
        # print('文件未找到')
        return default_data

tools.py

"""
Project: ClassStudent
Creator: 貓貓
Create time: 2021-03-04 08:20
IDE: PyCharm
Introduction:https://blog.csdn.net/Cantevenl/article/details/115439530
"""
# 加密密碼
import hashlib
def encrypt_password(passwd, x='zhumaogouniu'):
    h = hashlib.sha256()
    h.update(passwd.encode('utf8'))
    h.update(x.encode('utf8'))
    return h.hexdigest()

model.py

"""
Project: ClassStudent
Creator: 貓貓
Create time: 2021-03-04 08:18
IDE: PyCharm
Introduction:https://blog.csdn.net/Cantevenl/article/details/115439530
"""

class Teacher(object):
    def __init__(self, name, password):
        import tools
        self.name = name
        self.password = tools.encrypt_password(password)

class Student(object):
    def __init__(self, name, age, gender):
        self.name = name
        self.age = age
        self.gender = gender

    def __str__(self):
        return f'{self.name},{self.age},{self.gender}'

index.py

"""
Project: ClassStudent
Creator: 貓貓
Create time: 2021-03-04 12:08
IDE: PyCharm
Introduction:https://blog.csdn.net/Cantevenl/article/details/115439530
"""
# 1.導入管理系統模塊
import sys
import file_manager  # 導入自己寫的讀取文件模塊
import model
import managerSystem

def register():
    # 讀取文件,查看文件里是否有數據。如果文件不存在,默認是一個字典
    data = file_manager.read_json('data.json', {})
    while True:
        teacher_name = input('請輸入賬號(2~6位):')
        if not 2 = len(teacher_name) = 6:
            print('賬號不符合要求,請重新輸入!')
        else:
            break
    if teacher_name in data:
        print('注冊失敗!該賬號已經被注冊!')
        return

    while True:
        password = input('請輸入密碼(6~12位):')
        if not 6 = len(password) = 12:
            print('密碼不符合要求,請重新輸入!')
        else:
            break

    # 用戶名密碼都已經輸入正確以后 將用戶名和密碼以key:value形式儲存
    # 可以創建一個teacher對象
    t = model.Teacher(teacher_name, password)
    data[t.name] = t.password
    file_manager.write_json('data.json', data)

def login():
    # 讀取文件,查看文件里是否有數據。如果文件不存在,默認是一個字典
    data = file_manager.read_json('data.json', {})
    teacher_name = input('請輸入老師賬號:')

    if teacher_name not in data:
        print('登錄失敗!該賬號沒有注冊!')
        return
    password = input('請輸入密碼:')
    import tools
    if data[teacher_name] == tools.encrypt_password(password):
        managerSystem.name = teacher_name
        print('登錄成功')
        student_manager= managerSystem.StudentManager()
        student_manager.run()

    else:
        print('密碼錯誤,登陸失敗!')
def start():
    content = file_manager.read_file('welcome.txt')
    while True:
        operate = input(content + '\n請選擇(1-3):')
        if operate == '1':
            print('登錄')
            login()
        elif operate == '2':
            print('注冊')
            register()
        elif operate == '3':
            print('退出')
            # break   # 把循環退出
            # exit(0)   # 退出整個程序
            sys.exit(0)  # 退出程序
        else:
            print('輸入有誤!')

# 2.啟動管理系統
# 保證是當前文件運行才啟動管理系統 : if -- 創建對象 并且調用run方法
if __name__ == '__main__':
    start()

managerSystem.py

"""
Project: ClassStudent
Creator: 貓貓
Create time: 2021-03-04 16:12
IDE: PyCharm
Introduction:https://blog.csdn.net/Cantevenl/article/details/115439530
"""
import file_manager
from model import *

name = ''
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 = 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.sava_student()
            elif menu_num == '7':
                break
            else:
                print('輸入錯誤')

    # 二。系統功能函數
    # 2.1 顯示功能菜單 ---- 這種方法一般需要使用靜態方法
    @staticmethod
    def show_menu():
        content = file_manager.read_file('students_page.txt')
        print(content)

    # 增加
    def add_student(self):
        # 1.用戶輸入信息
        name = input('請輸入你的姓名:')
        age = input('請輸入你的年齡:')
        gender = input('請輸入你的性別:')

        # 2. 創建學員對象 -- 類 先導入student模塊,在創建對象
        student = Student(name, age, gender)

        # 3.將該對象添加到學員列表
        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 = self.new_input(i.name, '請輸入新修改的名字[回車則不修改]:')
                i.age = self.new_input(i.age, '請輸入新修改的年齡[回車則不修改]:')
                i.gender = self.new_input(i.gender, '請輸入新修改的性別[回車則不修改]:')
                print(f'修改學員信息成功,姓名 {i.name},年齡 {i.age},性別 {i.gender}')
                break
        else:
            print('查無此人')

    # 查找
    def search_student(self):
        search_name = input('請輸入想查找的學生名字:')

        for i in self.student_list:
            if i.name == search_name:
                print(f'姓名 {i.name},年齡 {i.age},性別 {i.gender}')
                break
        else:
            print('查無此人')

    # 顯示全部學生
    def show_student(self):
        print('姓名\t\t年齡\t性別')
        for i in self.student_list:
            print(f'{i.name}\t\t{i.age}\t\t{i.gender}')

    # 保存學員信息
    def sava_student(self):
        # 1.打開文件
        file = open('files/student.data', 'w')

        # 2.數據寫入文件
        # 2.1 [學員對象] 轉換成 [字典]
        # 使用列表推導式
        new_list = [i.__dict__ for i in self.student_list]

        # 2.2 文件寫入 字符串數據
        file.write(str(new_list))
        file.close()

    # 加載信息
    def load_student(self):
        try:
            file = open('files/student.data', 'r')
        except FileNotFoundError:
            file = open('files/student.data', 'w')
        else:
            # 1.讀取數據
            data = file.read()
            # 2.文件中讀取的數據都是字符串且字符串內部為字典數據,
            # 故需要轉換數據類型再轉換字典為對象后存儲到學院列表
            new_list = eval(data)
            # 創建學生類
            self.student_list = [Student(i['name'], i['age'], i['gender']) for i in new_list]
        finally:
            pass
            # 3.關閉文件
        file.close()

    # 重寫的input方法
    def new_input(self, old, new):
        input_str = input(new)

        if len(input_str) > 0:
            return input_str
        else:
            return old

執行效果


到此這篇關于Python實現學生管理系統的完整代碼(面向對象)的文章就介紹到這了,更多相關python學生管理系統內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python實現學生管理系統源碼
  • 基于python制作簡易版學生信息管理系統
  • 使用python實現學生信息管理系統
  • python實現學生信息管理系統源碼
  • python實現簡單的學生管理系統
  • 利用Python實現學生信息管理系統的完整實例
  • 基于Python實現簡單學生管理系統
  • 用python實現學生管理系統
  • python實現學生管理系統開發
  • python實現簡單學生信息管理系統
  • python學生管理系統的實現
  • Python實戰之實現簡易的學生選課系統

標簽:衡水 股票 江蘇 湖州 呼和浩特 畢節 駐馬店 中山

巨人網絡通訊聲明:本文標題《Python實現學生管理系統的完整代碼(面向對象)》,本文關鍵詞  Python,實現,學生,管理系統,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python實現學生管理系統的完整代碼(面向對象)》相關的同類信息!
  • 本頁收集關于Python實現學生管理系統的完整代碼(面向對象)的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    91在线视频官网| 在线观看av一区二区| 色综合天天天天做夜夜夜夜做| 欧美一a一片一级一片| 久久精品视频免费观看| 视频一区中文字幕| 色综合久久中文综合久久97| 久久午夜电影网| 另类中文字幕网| 欧美三级中文字幕在线观看| 中文字幕中文乱码欧美一区二区| 激情图区综合网| 色综合色狠狠综合色| 久久精品人人做| 黄色日韩网站视频| 日韩视频国产视频| 日韩黄色小视频| 欧美精品久久天天躁| 午夜精品久久久久影视| 欧美性淫爽ww久久久久无| 亚洲激情成人在线| 岛国精品一区二区| 国产精品丝袜在线| av欧美精品.com| 亚洲图片激情小说| 96av麻豆蜜桃一区二区| 亚洲免费av高清| 91麻豆国产福利在线观看| 亚洲人快播电影网| 欧美自拍偷拍一区| 艳妇臀荡乳欲伦亚洲一区| 日本韩国视频一区二区| 亚洲最大成人综合| 欧美日韩午夜在线视频| 免费视频最近日韩| 精品国内片67194| 国产91色综合久久免费分享| 欧美国产精品专区| 91污片在线观看| 亚洲妇熟xx妇色黄| 欧美精品久久久久久久久老牛影院| 视频一区国产视频| 欧美tickling网站挠脚心| 国产一区二区美女诱惑| 国产精品久久久久久久裸模| 91污在线观看| 丝袜美腿亚洲一区二区图片| 欧美v日韩v国产v| 成人综合在线观看| 亚洲一区二区三区自拍| 日韩一二三区不卡| 丁香另类激情小说| 亚洲小说欧美激情另类| 日韩精品资源二区在线| 波多野结衣的一区二区三区| 亚洲一区二区在线免费看| 欧美一区二区女人| 高清av一区二区| 一区二区三区日本| 精品日韩一区二区三区免费视频| 成人激情av网| 婷婷开心激情综合| 中文在线资源观看网站视频免费不卡| 91影院在线观看| 精品一区在线看| 亚洲乱码国产乱码精品精小说| 7777精品伊人久久久大香线蕉的| 国产91清纯白嫩初高中在线观看 | 成人动漫一区二区| 亚洲伊人伊色伊影伊综合网| 久久久综合九色合综国产精品| 97aⅴ精品视频一二三区| 亚洲专区一二三| 国产女人水真多18毛片18精品视频| 在线视频国内一区二区| 国产成人啪午夜精品网站男同| 午夜久久久久久久久| 国产精品沙发午睡系列990531| 欧美久久一二三四区| jlzzjlzz欧美大全| 韩国午夜理伦三级不卡影院| 又紧又大又爽精品一区二区| 久久久综合精品| 91精品国产91久久综合桃花| 色呦呦日韩精品| 国产成人在线影院| 理论电影国产精品| 亚洲综合视频在线| 精品国产乱码久久久久久久| 精品1区2区3区| 色综合久久天天| 成人av网址在线| 国产乱码精品一区二区三区av| 婷婷久久综合九色综合伊人色| 亚洲精品国产精华液| 国产精品久久久一本精品| 久久久亚洲国产美女国产盗摄 | 国产高清久久久| 日韩不卡一区二区三区| 亚洲国产你懂的| 亚洲国产综合色| 一区二区三区日韩欧美精品| 亚洲品质自拍视频| 亚洲欧美综合另类在线卡通| 国产女同互慰高潮91漫画| 精品三级在线看| 精品免费一区二区三区| 日韩午夜激情视频| 精品噜噜噜噜久久久久久久久试看 | www激情久久| 日韩三级免费观看| 日韩免费观看高清完整版在线观看| 在线不卡中文字幕| 8x福利精品第一导航| 在线91免费看| 日韩精品一区二区在线观看| 精品国产91乱码一区二区三区| 精品少妇一区二区三区视频免付费| 欧美大片一区二区| 精品第一国产综合精品aⅴ| 久久久久久久久久电影| 国产三级精品三级| 中文字幕五月欧美| 亚洲一区二区三区三| 日韩国产成人精品| 精品一区二区三区欧美| 国产一区二区在线影院| 成人黄色小视频在线观看| 91麻豆福利精品推荐| 欧美日韩一区二区三区四区五区| 欧美浪妇xxxx高跟鞋交| 精品国产第一区二区三区观看体验| 久久新电视剧免费观看| 中文字幕在线一区| 亚洲成av人综合在线观看| 日韩和欧美一区二区| 国产一区在线观看视频| 成人av免费观看| 欧美丰满美乳xxx高潮www| 337p日本欧洲亚洲大胆精品| 中文字幕高清不卡| 天天操天天色综合| 国产精品资源在线观看| 欧美亚洲一区二区在线| 精品国产伦一区二区三区免费 | 不卡的av电影| 欧美日韩大陆在线| 欧美激情在线免费观看| 亚洲综合在线观看视频| 国产一区二区免费视频| 欧美日韩一区二区电影| 国产午夜久久久久| 亚洲国产精品一区二区久久 | 蜜乳av一区二区| 99久久99久久精品免费看蜜桃| 欧美日韩aaaaa| 国产精品看片你懂得| 日本欧美一区二区在线观看| 成人黄色a**站在线观看| 日韩三级高清在线| 亚洲人亚洲人成电影网站色| 麻豆精品一区二区综合av| 色综合久久久久久久久久久| 精品国产伦一区二区三区观看体验| 亚洲欧美另类小说| 国产一区二区在线观看免费 | www欧美成人18+| 无码av中文一区二区三区桃花岛| 国产 日韩 欧美大片| 91精品国产色综合久久ai换脸| 最新国产精品久久精品| 韩国三级电影一区二区| 51精品国自产在线| 日韩码欧中文字| 国产乱理伦片在线观看夜一区| 欧美情侣在线播放| 亚洲人被黑人高潮完整版| 高清日韩电视剧大全免费| 精品日韩一区二区三区| 免费观看成人鲁鲁鲁鲁鲁视频| 在线一区二区视频| 亚洲色图都市小说| 丰满少妇在线播放bd日韩电影| 精品国产伦一区二区三区免费| 日日噜噜夜夜狠狠视频欧美人 | 亚洲成av人影院在线观看网| 91热门视频在线观看| 国产精品少妇自拍| 成人av在线影院| 国产视频一区二区在线| 国产精品69久久久久水密桃| 精品国产一区二区三区四区四| 日本怡春院一区二区| 91精品综合久久久久久| 日本特黄久久久高潮| 日韩一区二区三区电影在线观看| 日日噜噜夜夜狠狠视频欧美人| 欧美乱妇15p| 蜜臀va亚洲va欧美va天堂| 欧美电视剧免费观看|