python實(shí)現(xiàn)學(xué)生管理系統(tǒng)源碼
本文實(shí)例為大家分享了python實(shí)現(xiàn)學(xué)生管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下
一.面向過程版
import os stu_list = [] def show_menu(): print('1.添加學(xué)生') print('2.刪除學(xué)生') print('3.修改學(xué)生信息') print('4.查詢單個學(xué)生信息') print('5.查詢所有學(xué)生信息') print('6.退出系統(tǒng)') def insert_student(): name = input('請輸入學(xué)生名字:') for stu in stu_list: if stu['name'] == name: print('.........學(xué)生信息已存在........') return age = input('請輸入學(xué)生年齡:') gender = input('請輸入學(xué)生性別:') stu_dict = {'name': name, 'age': int(age), 'gender': gender} stu_list.append(stu_dict) print("學(xué)生信息添加成功!") def remove_student(): name = input('請輸入要操作的學(xué)生的名字:') for stu in stu_list: if stu['name'] == name: stu_list.remove(stu) print('刪除成功!') break else: print('........該學(xué)生信息不存在,無法刪除.........') def modify_student(): name = input('請輸入要操作的學(xué)生的名字:') for stu in stu_list: if stu['name'] == name: stu['age'] = int(input('請輸入新的年齡:')) print('修改成功!') break else: print('........該學(xué)生信息不存在,無法修改.........') def search_student(): name = input('請輸入要操作的學(xué)生的名字:') for stu in stu_list: if stu['name'] == name: print(f'姓名:{stu["name"]},年齡:{stu["age"]},性別:{stu["gender"]}') break else: print('........該學(xué)生信息不存在.......') def show_all_stu(): if len(stu_list): for stu in stu_list: print(f'姓名:{stu["name"]},年齡:{stu["age"]},性別:{stu["gender"]}') else: print("目前沒有學(xué)生信息!") def save(): f = open('student.txt', 'w') f.write(str(stu_list)) f.close() def read_file(): global stu_list if os.path.exists('student.tct'): f = open('student.txt', 'r', encoding='utf-8') buf = f.read() if buf: stu_list = eval(buf) f.close() def main(): read_file() while True: show_menu() opt = input('請輸入用來選擇的編號:') if opt == '1': print('1.添加學(xué)生') insert_student() elif opt == '2': print('2.刪除學(xué)生') remove_student() elif opt == '3': print('3.修改單個學(xué)生信息') modify_student() elif opt == '4': print('查詢單個學(xué)生信息') search_student() elif opt == '5': print('5.查詢所有學(xué)生信息') show_all_stu() elif opt == '6': print('歡迎下次使用本系統(tǒng)') save() break else: print('輸入有誤,請重新輸入') continue input('........回車鍵繼續(xù)操作........') main()
二.面向?qū)ο蟀?/h3>
1.工程文件
2.main.py
import student_manage_sysytem as sms if __name__ == '__main__': stu_sms = sms.StudenManagerSystem() stu_sms.start()
3.student.py
class Student(): def __init__(self, stu_id, name, age, gender): self.sut_id = stu_id self.name = name self.age = age self.gender = gender def __str__(self): return f"{self.sut_id},{self.name},{self.age},{self.gender}"
4.student_manage_system.py
import student class StudenManagerSystem(): def __init__(self): self.stu_dict = {} @staticmethod def __show_menu(): print('1.添加學(xué)生') print('2.刪除學(xué)生') print('3.修改學(xué)生信息') print('4.查詢單個學(xué)生信息') print('5.查詢所有學(xué)生信息') print('6.退出系統(tǒng)') def __insert_student(self): stu_id = input('請輸入學(xué)生學(xué)號:') if stu_id in self.stu_dict: print('學(xué)生信息已經(jīng)存在,不需要重復(fù)添加') return name = input('請輸入學(xué)生名字:') age = input('請輸入學(xué)生年齡:') gender = input('請輸入學(xué)生性別:') stu = student.Student(stu_id, name, age, gender) self.stu_dict[stu_id] = stu def __removw_student(self): stu_id = input('請輸入學(xué)號:') if stu_id in self.stu_dict: del self.stu_dict[stu_id] print('學(xué)生已經(jīng)刪除') else: print('學(xué)生信息不存在,無法刪除') def __modify_student(self): stu_id = input('請輸入學(xué)號:') if stu_id in self.stu_dict: stu = self.stu_dict[stu_id] stu.age = input('請輸入新的年齡:') print('信息已經(jīng)修改完畢') else: print('學(xué)生信息不存在,無法修改') def __search_student(self): stu_id = input('請輸入學(xué)號:') if stu_id in self.stu_dict: stu = self.stu_dict[stu_id] print(stu) else: print('學(xué)生信息不存在') def __save(self): f = open('student.txt', 'w', encoding='utf-8') for stu in self.stu_dict.values(): f.write(str(stu) + '\n') f.close() def __load_info(self): try: f = open('student.txt', 'r', encoding='utf-8') buf_list = f.readlines() for buf in buf_list: buf = buf.strip() info_list = buf.split(',') stu = student.Student(*info_list) stu_id = info_list[0] self.stu_dict[stu_id] = stu f.close() except Exception: pass def __show_all_info(self): for stu in self.stu_dict.values(): print(stu) def start(self): self.__load_info() while True: self.__show_menu() opt = input('請輸入用來選擇的編號:') if opt == '1': print('1.添加學(xué)生') self.__insert_student() elif opt == '2': print('2.刪除學(xué)生') self.__removw_student() elif opt == '3': print('3.修改單個學(xué)生信息') self.__modify_student() elif opt == '4': print('查詢單個學(xué)生信息') self.__search_student() elif opt == '5': print('5.查詢所有學(xué)生信息') self.__show_all_info() elif opt == '6': self.__save() print('歡迎下次使用本系統(tǒng)') break else: print('輸入有誤,請重新輸入') continue input('........回車鍵繼續(xù)操作........')
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python版學(xué)生管理系統(tǒng)
- python實(shí)現(xiàn)學(xué)生管理系統(tǒng)
- python學(xué)生管理系統(tǒng)代碼實(shí)現(xiàn)
- 基于python實(shí)現(xiàn)學(xué)生管理系統(tǒng)
- 詳解用python實(shí)現(xiàn)基本的學(xué)生管理系統(tǒng)(文件存儲版)(python3)
- 用python實(shí)現(xiàn)學(xué)生管理系統(tǒng)
- 基于Python實(shí)現(xiàn)簡單學(xué)生管理系統(tǒng)
- Python實(shí)現(xiàn)學(xué)生管理系統(tǒng)的完整代碼(面向?qū)ο?
- Python實(shí)現(xiàn)學(xué)生管理系統(tǒng)(面向?qū)ο蟀?
- 手把手教你做python學(xué)生管理系統(tǒng)
相關(guān)文章
刪除pycharm鼠標(biāo)右鍵快捷鍵打開項(xiàng)目的操作
這篇文章主要介紹了刪除pycharm鼠標(biāo)右鍵快捷鍵打開項(xiàng)目的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-01-01基于pyinstaller超級加密操作(加殼和轉(zhuǎn)c)
這篇文章主要介紹了基于pyinstaller超級加密操作 (加殼和轉(zhuǎn)c),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03python使用Bokeh庫實(shí)現(xiàn)實(shí)時數(shù)據(jù)的可視化
Python語言以其豐富的數(shù)據(jù)科學(xué)生態(tài)系統(tǒng)而聞名,其中Bokeh庫作為一種功能強(qiáng)大的可視化工具,為實(shí)時數(shù)據(jù)的可視化提供了優(yōu)秀的支持,本文將介紹如何使用Bokeh庫實(shí)現(xiàn)實(shí)時數(shù)據(jù)的可視化,并提供相關(guān)代碼實(shí)例,需要的朋友可以參考下2024-05-05使用python實(shí)現(xiàn)簡單爬取網(wǎng)頁數(shù)據(jù)并導(dǎo)入MySQL中的數(shù)據(jù)庫
這篇文章主要為大家詳細(xì)介紹了如何使用 python 實(shí)現(xiàn)簡單爬取網(wǎng)頁數(shù)據(jù)并導(dǎo)入 MySQL 中的數(shù)據(jù)庫,對我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2023-06-06解決新django中的path不能使用正則表達(dá)式的問題
今天小編就為大家分享一篇解決新django中的path不能使用正則表達(dá)式的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12Python利用三層神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)手寫數(shù)字分類詳解
這篇文章主要介紹了如何設(shè)計一個三層神經(jīng)網(wǎng)絡(luò)模型來實(shí)現(xiàn)手寫數(shù)字分類。本文給大家介紹的非常詳細(xì),感興趣的小伙伴快來跟小編一起學(xué)習(xí)一下2021-11-11Python用imghdr模塊識別圖片格式實(shí)例解析
這篇文章主要介紹了Python用imghdr模塊識別圖片格式實(shí)例解析,具有一定借鑒價值,需要的朋友可以參考下2018-01-01