日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

Python学员管理系统进阶版

發布時間:2023/12/20 windows 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python学员管理系统进阶版 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Python學員管理系統進階版

整合基礎,使用面向對象的方式做學員管理系統


文章目錄

  • Python學員管理系統進階版
  • 前言
  • 一、系統需求
    • 1.創建程序文件
    • 2.書寫程序
    • 3.管理系統框架
  • 二、功能函數
    • 1.添加學員
    • 2.刪除學員
    • 3.修改學員信息
    • 4.查詢學員信息
    • 5.顯示所有學員信息
    • 6.保存學員信息
    • 7.加載學員信息
  • 三.需求總結
  • 我的代碼實現{僅供參考}
    • 1.Student類:
    • 2.managerSystem類:
    • 3.main方法:
  • 四.本章小結


前言


一、系統需求

使用面向對象編程思想完成學員管理系統的開發,具體如下:
1.系統要求:學員數據存儲在文件中
2.系統功能:添加學員、刪除學員、修改學員信息、查詢學員信息、顯示所有學員信息、保存學員信息及退出系統等功能。

1.創建程序文件

創建程序文件創建項目目錄,例如: StudentManagerSystem 程序文件如下: 程序入口文件:main.py 學員文件:student.py 管理系統文件:managerSystem.py

2.書寫程序

書寫程序
student.py
需求:
學員信息包含:姓名、性別、?機號;
添加 str 魔法方法,方便查看學員對象信息

managerSystem.py需求: 存儲數據的位置:文件(student.data) 加載文件數據 修改數據后保存到文件 存儲數據的形式:列表存儲學員對象 系統功能: 1.添加學員 2.刪除學員 3.修改學員 4.查詢學員信息 5.顯示所有學員信息 6.保存學員信息 退出系統

3.管理系統框架

需求:系統功能循環使用,用戶輸入不同的功能序號執行不同的功能。 步驟 定義程序入口函數 1.加載數據 2.顯示功能菜單 3.用戶輸入功能序號 4.根據用戶輸入的功能序號執行不同的功能 5.定義系統功能函數,添加、刪除學員等

二、功能函數

1.添加學員

添加功能 需求:用戶輸入學員姓名、性別、?機號,將學員添加到系統。 步驟 用戶輸入姓名、性別、?機號 創建該學員對象 將該學員對象添加到列表

2.刪除學員

需求:用戶輸入目標學員姓名,如果學員存在則刪除該學員。 步驟 用戶輸入目標學員姓名 遍歷學員數據列表,如果用戶輸入的學員姓名存在則刪除,否則則提示該學員不存在。

3.修改學員信息

需求:用戶輸入目標學員姓名,如果學員存在則修改該學員信息。 步驟 用戶輸入目標學員姓名; 遍歷學員數據列表,如果用戶輸入的學員姓名存在則修改學員的姓名、性別、?機號數據,否則則提示該學員不存在。

4.查詢學員信息

需求:用戶輸入目標學員姓名,如果學員存在則打印該學員信息 步驟 用戶輸入目標學員姓名 遍歷學員數據列表,如果用戶輸入的學員姓名存在則打印學員信息,否則提示該學員不存在。

5.顯示所有學員信息

打印所有學員信息 步驟 遍歷學員數據列表,打印所有學員信息

6.保存學員信息

需求:將修改后的學員數據保存到存儲數據的文件。 步驟 打開文件 文件寫入數據 關閉文件 思考 1. 文件寫入的數據是學員對象的內存地址嗎? 2. 文件內數據要求的數據類型是什么

7.加載學員信息

需求:每次進入系統后,修改的數據是文件?面的數據 步驟 嘗試以 "r" 模式打開學員數據文件,如果文件不存在則以 "w" 模式打開文件 如果文件存在則讀取數據并存儲數據 讀取數據 轉換數據類型為列表并轉換列表內的字典為對象 存儲學員數據到學員列表 關閉文件

三.需求總結

函數:
1.定義和調用
2.參數的使用
?向對象:
1.定義類
2.創建對象
3.定義和調用實例屬性
4.定義和調用實例方法
數據類型:
1.列表
2.增加刪除數據
3.列表推導式
4.字典
5.字符串
文件操作:
1.打開文件
2.讀取或寫入
3.關閉文件


我的代碼實現{僅供參考}

1.Student類:

class Students():def __init__(self, name,sex, tel):self.__name = nameself.__sex = sexself.__tel = teldef __str__(self):return f'學員姓名:{self.__name},學員性別:{self.__sex},學員電話:{self.__tel}'def getName(self):return self.__namedef getSex(self):return self.__sexdef getTel(self):return self.__tel

2.managerSystem類:

from Student import Studentsclass Manage(Students):def __init__(self):self.StuList = []# 保存數據def save(self):try:f = open('Student.data', 'w')except():print('出錯了!!')else:lis = []for i in self.StuList:dic = {'name': i.getName(), 'sex': i.getSex(), 'tel': i.getTel()}lis.append(dic)f.write(str(lis))print('保存成功!')finally:f.close()# 加載數據def login(self):try:f = open('Student.data', 'r')except():print('出錯了!!')else:lis=eval(f.read())for i in lis:self.StuList.append(Students(i['name'],i['sex'],i['tel']))print('加載成功!')finally:f.close()# 靜態菜單@staticmethoddef menu():print('1.刪除學員')print('2.修改學員')print('3.查詢學員信息')print('4.顯示所有學員信息')print('5.保存系統')print('6.退出系統')print('7.添加學員')# 刪除學員def delStu(self):name = input('請輸入要刪除的學生姓名:')for i in self.StuList:if i.getName() == name:self.StuList.remove(i)print('刪除成功!')breakelse:print('查無此人!')# 修改學員def updStu(self):print('修改學員')uname = input('請輸入學員姓名:')for i in self.StuList:if uname == i.getName():newName = input('請輸入新的姓名:')newSex = input('請輸入新的性別:')newtel = input('請輸入新的電話:')op=self.StuList.index(i)st=Students(newName,newSex,newtel)self.StuList[op]=stprint('修改成功')breakelse:print('查無此人')# 添加學員def addStu(self):name = input('請輸入學員姓名:')for i in self.StuList:if name == i.getName():print('此人已存在!')breakelse:sex = input('請輸入性別:')tel = input('請輸入電話:')st=Students(name,sex,tel)self.StuList.append(st)print('新增成功!')# 根據姓名查詢def selectStu(self):name = input('請輸入要查詢的姓名:')for i in self.StuList:if i.getName() == name:print(i.__str__())breakelse:print('查無此人!!')# 查詢所有def select(self):for i in self.StuList:print(i.__str__())# 主方法def main(self):self.login()while True:self.menu()user = int(input('請選擇功能序號:'))if user == 1:self.delStu()elif user == 2:self.updStu()elif user == 3:self.selectStu()elif user == 4:self.select()elif user == 5:self.save()elif user == 6:breakelif user == 7:self.addStu()else:print('輸入錯誤!')

3.main方法:

import managerSystem if __name__ == '__main__':Stu = managerSystem.Manage()Stu.main()

四.本章小結

到這里,面向對象版學員管理系統就OK了,實現方法有很多種,我這只是其中一種,萬變不離其宗,各位小伙伴可以自行探索做法.
有哪里不足或者有更好的建議,歡迎留言吐槽,有哪里不懂的小伙伴可以私信我,我會一一答復,感謝認可,感謝支持!

總結

以上是生活随笔為你收集整理的Python学员管理系统进阶版的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。