python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)(面向?qū)ο?
本文實(shí)例為大家分享了python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
1.主要內(nèi)容
python種的.py文件如圖所示
第一個(gè)文件是用來管理文件中包中各個(gè)模塊的關(guān)系的文件
第二個(gè)文件是主函數(shù)文件,就是在主函數(shù)文件調(diào)用其余文件和模塊
第三個(gè)模塊式學(xué)生信息管理的模塊
第四個(gè)文件是用來存放學(xué)生數(shù)據(jù)的文件
第五個(gè)文件是學(xué)生信息的定義和顯示模塊
2.實(shí)現(xiàn)代碼
1)第一個(gè)文件是包中的管理文件自動(dòng)生成且不需要修改
2)main.py文件
from managerSystem import *#導(dǎo)入模塊managerSystem,可以使用其中的功能 if __name__=='__main__':#定義只能在運(yùn)行main.py文件中運(yùn)行,才執(zhí)行的代碼 ? ? student_manager=StudentManager() ? ? student_manager.run()
3)學(xué)生信息管理模塊
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('請(qǐng)輸入數(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í),不需要傳入任何參數(shù) ? ? def show_menu(): ? ? ? ? print('請(qǐng)選擇如下序號(hào):') ? ? ? ? print('1.添加學(xué)員') ? ? ? ? print('2.刪除學(xué)員') ? ? ? ? print('3.修改學(xué)員信息') ? ? ? ? print('4.查找學(xué)員') ? ? ? ? print('5.顯示學(xué)員信息') ? ? ? ? print('6.保存學(xué)員信息') ? ? ? ? print('7.退出系統(tǒng)') ? ? def add_student(self): ? ? ? ? name = input('請(qǐng)輸入學(xué)員姓名:') ? ? ? ? gender = input('請(qǐng)輸入學(xué)員性別:') ? ? ? ? tel = input('請(qǐng)輸入電話號(hào)碼:') ? ? ? ? student = Student(name, gender, tel) ? ? ? ? self.student_list.append(student) ? ? ? ? # print(self.student_list) ? ? ? ? # print(student) ? ? def del_student(self): ? ? ? ? del_name = input('請(qǐng)輸入需要?jiǎng)h除的學(xué)員姓名:') ? ? ? ? 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('請(qǐng)輸入需要修改的學(xué)員姓名:') ? ? ? ? for i in self.student_list: ? ? ? ? ? ? if i.name == modify_name: ? ? ? ? ? ? ? ? i.name = input('親輸入需要修改的學(xué)員姓名:') ? ? ? ? ? ? ? ? i.gender = input('請(qǐng)輸入需要修過的學(xué)員性別:') ? ? ? ? ? ? ? ? i.tel = input('請(qǐng)輸入需要修改的學(xué)員手機(jī)號(hào):') ? ? ? ? ? ? ? ? print(f'修改的信息為{i.name},{i.gender},{i.tel}') ? ? ? ? ? ? ? ? break ? ? ? ? else: ? ? ? ? ? ? print('需要修改的學(xué)員不存在') ? ? def search_student(self): ? ? ? ? searce_name = input('請(qǐng)輸入需要查詢的學(xué)員姓名:') ? ? ? ? for i in self.student_list: ? ? ? ? ? ? if i.name == searce_name: ? ? ? ? ? ? ? ? print(f'姓名:{i.name},性別:{i.gender},手機(jī)號(hào):{i.tel}') ? ? ? ? ? ? ? ? break ? ? ? ? else: ? ? ? ? ? ? print('查無此人') ? ? def show_student(self): ? ? ? ? print('姓名:\t性別:\t手機(jī)號(hào):') ? ? ? ? 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)換 [學(xué)員對(duì)象] ? ? ? ? ? ? data = f.read() ?# 字符串 ? ? ? ? ? ? if data != '': ?# 此時(shí)需要添加判斷文件是否為空,否則會(huì)發(fā)生報(bào)錯(cuò) ? ? ? ? ? ? ? ? new_list = eval(data) ? ? ? ? ? ? ? ? self.student_list = [Student(i['name'], i['gender'], i['tel']) for i in new_list] ? ? ? ? finally: ? ? ? ? ? ? # 3. 關(guān)閉文件 ? ? ? ? ? ? f.close()
4)存儲(chǔ)數(shù)據(jù)的文件不需要編輯
5)student.py文件主要是用來存放學(xué)生的主要信息的模塊,以及可以查看學(xué)生信息的方法
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}'
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python學(xué)生信息管理系統(tǒng)(完整版)
- Python實(shí)現(xiàn)GUI學(xué)生信息管理系統(tǒng)
- python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
- python實(shí)現(xiàn)簡(jiǎn)易學(xué)生信息管理系統(tǒng)
- python實(shí)現(xiàn)外賣信息管理系統(tǒng)
- python學(xué)生信息管理系統(tǒng)
- python學(xué)生信息管理系統(tǒng)實(shí)現(xiàn)代碼
- python實(shí)現(xiàn)簡(jiǎn)單學(xué)生信息管理系統(tǒng)
- python學(xué)生信息管理系統(tǒng)(初級(jí)版)
- 使用python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
相關(guān)文章
Python基礎(chǔ)之變量的相關(guān)知識(shí)總結(jié)
今天給大家?guī)淼氖顷P(guān)于Python的相關(guān)知識(shí),文章圍繞著Python變量展開,文中有非常詳細(xì)的介紹及代碼示例,需要的朋友可以參考下2021-06-06Python通過pymysql調(diào)用MySQL進(jìn)行增刪改移查
這篇文章主要介紹了Python通過pymysql調(diào)用MySQL,從而實(shí)現(xiàn)數(shù)據(jù)的增刪改移查功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2021-12-12python gensim使用word2vec詞向量處理中文語料的方法
這篇文章主要介紹了python gensim使用word2vec詞向量處理中文語料的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Python Pygame實(shí)戰(zhàn)之水果忍者游戲的實(shí)現(xiàn)
大家還記得水果忍者這個(gè)游戲嗎?想當(dāng)年,這也是個(gè)風(fēng)靡全國(guó)的游戲,基本每個(gè)人都玩過。今天小編就用Python中的Pygame庫(kù)復(fù)刻這一經(jīng)典游戲,需要的可以參考一下2022-02-02Python中出現(xiàn)"No?module?named?'requests'"
這篇文章主要給大家介紹了關(guān)于Python中出現(xiàn)"No?module?named?'requests'"的解決辦法,"No?module?named?requests"是Python報(bào)錯(cuò)提示,意味著你在使用某個(gè)Python程序或腳本時(shí),沒有找到名為requests的模塊,需要的朋友可以參考下2023-11-11