基于Python實(shí)現(xiàn)簡(jiǎn)單學(xué)生管理系統(tǒng)
學(xué)生信息管理系統(tǒng)負(fù)責(zé)編輯學(xué)生信息,供大家參考,具體內(nèi)容如下
第一次發(fā)帖,下面通過(guò)python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的學(xué)生信息管理系統(tǒng)
要求如下:
1.添加學(xué)生的信息
2.刪除學(xué)生的信息
3.修改的信息
4.查詢(xún)學(xué)生的信息
5.遍歷學(xué)生的信息
6.退出系統(tǒng)
寫(xiě)法:
1.先考慮整體的框架(即搭框架),不要?jiǎng)傞_(kāi)始就考慮函數(shù)。
2.提示用戶(hù)選擇功能。
3.獲取用戶(hù)選擇的功能。
4.根據(jù)用戶(hù)的選擇,執(zhí)行相應(yīng)的功能。
代碼如下:
# 0.學(xué)生管理系統(tǒng)界面 def showInfo(): print("-"*30) print(" 學(xué)生管理系統(tǒng) v1.0") print(" 1:添加學(xué)生的信息") print(" 2:刪除學(xué)生的信息") print(" 3:修改的信息") print(" 4:查詢(xún)學(xué)生的信息") print(" 5:遍歷學(xué)生的信息") print(" 6:退出系統(tǒng)") print("-" * 30) # 1.添加學(xué)生的信息 def addNewStu(studentsTemp): name = input("請(qǐng)輸入姓名:") stuId = input("請(qǐng)輸入學(xué)號(hào):") age = input("請(qǐng)輸入年齡:") # 2.判斷是否能加這個(gè)學(xué)生:如果學(xué)生姓名已經(jīng)存在報(bào)錯(cuò)提示;如果姓名不存在添加數(shù)據(jù) global students # 聲明students為全局變量 # 2.1不允許學(xué)號(hào)重復(fù):判斷用戶(hù)輸入的學(xué)號(hào)和列表里面字典的id對(duì)應(yīng)的值相等提示 for i in students: if stuId == i['id']: print("該學(xué)號(hào)已經(jīng)存在,請(qǐng)重新操作!?。?) # return作用:退出當(dāng)前函數(shù),后面添加信息的代碼不執(zhí)行 return # 2.2如果輸入的姓名不存在,添加數(shù)據(jù):準(zhǔn)備空字典,字典新增數(shù)據(jù),列表追加字典 stuInfo = {} # 2.2.1準(zhǔn)備空字典 # 2.2.2字典新增數(shù)據(jù) stuInfo['name'] = name # 如果name存在賦值修改,如果name不存在則賦值新增“name”這個(gè)變量 stuInfo['id'] = stuId stuInfo['age'] = age # 2.2.3列表追加字典數(shù)據(jù) studentsTemp.append(stuInfo) # 2.刪除學(xué)生的信息 def del_info(): # 1.用戶(hù)輸入要?jiǎng)h除的學(xué)生的學(xué)號(hào) del_name = input("請(qǐng)輸入要?jiǎng)h除的姓名:") # 2.判斷學(xué)生是否存在:存在則刪除:不存在提示 # 2.1聲明students為全局變量 global students # 2.2遍歷列表 for i in students: # 2.3判斷學(xué)生是否存在:存在執(zhí)行刪除(列表用面的學(xué)典).break:這個(gè)系統(tǒng)不允許重名,刪除了一個(gè)后面的不需要再遍歷。不存在提示 if del_name == i['name']: students.remove(i) break else: # 循環(huán)正常結(jié)束 print("該學(xué)生不存在") print(students) # 3.修改學(xué)生的信息 def modify_info(): # 1.用戶(hù)輸入想要修改的學(xué)生的姓名 modify_name = input("請(qǐng)輸入要修改的學(xué)生的姓名:") # 2.判斷學(xué)生是否存在:存在修改學(xué)號(hào):不存在,提示 # 2.1聲明students是全局變量 global students # 2.2遍歷列表,判斷輸入的姓名==字典['name'] for i in students: if modify_name == i['name']: # 將stuId修改key值,并終止此循環(huán) i['id'] = input("請(qǐng)輸入新的學(xué)號(hào):") break else: # 學(xué)生不存在 print("該學(xué)生不存在") # 3.打印students print(students) # 4.查詢(xún)學(xué)生的信息 def search_info(): # 1.用戶(hù)輸入目標(biāo)學(xué)生姓名 search_name = input("請(qǐng)輸入要查詢(xún)的學(xué)生的姓名:") # 2.檢查學(xué)生是否存在:存在打印這個(gè)學(xué)生的信息;不存在則提示 # 2.1聲明students為全局變量 global students # 2.2遍歷students,判斷輸入的學(xué)號(hào)是否存在 for i in students: if search_name == i['name']: # 學(xué)員存在:打印信息并終止循環(huán) print("查詢(xún)到的學(xué)生信息如下----------") print(f"學(xué)生的學(xué)號(hào)是{i['id']},學(xué)生的姓名是{i['name']},學(xué)生的年齡是{i['age']}") break else: # 學(xué)生不存在的提示 print("對(duì)不起,您查詢(xún)的學(xué)生不存在,請(qǐng)重試!") # 5.遍歷學(xué)生的信息 def print_all(): # 1.打印提示字 print('學(xué)號(hào)\t姓名\t年齡') # 2.打印所有學(xué)生的數(shù)據(jù) for i in students: print(f"{i['id']}\t{i['name']}\t{i['age']}") students = [] # 等待存儲(chǔ)所有學(xué)生信息 # 系統(tǒng)功能需要循環(huán)使用,直在用戶(hù)輸入6,才退出系統(tǒng) while True: showInfo() # 顯示主界面 key = int(input("請(qǐng)選擇功能(序號(hào)):")) if key == 1: addNewStu(students) elif key == 2: del_info() elif key == 3: modify_info() elif key == 4: search_info() elif key == 5: print_all() elif key == 6: exit_flag = input("您確定要退出嗎?yes/no\n") if exit_flag == 'yes': break else: print("輸入有誤,請(qǐng)重新輸入!")
關(guān)于管理系統(tǒng)的更多內(nèi)容請(qǐng)點(diǎn)擊《管理系統(tǒng)專(zhuān)題》進(jìn)行學(xué)習(xí)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(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)(文件存儲(chǔ)版)(python3)
- 用python實(shí)現(xiàn)學(xué)生管理系統(tǒng)
- Python實(shí)現(xiàn)學(xué)生管理系統(tǒng)的完整代碼(面向?qū)ο?
- python實(shí)現(xiàn)學(xué)生管理系統(tǒng)源碼
- Python實(shí)現(xiàn)學(xué)生管理系統(tǒng)(面向?qū)ο蟀?
- 手把手教你做python學(xué)生管理系統(tǒng)
相關(guān)文章
python如何使用import引入其他目錄文件或自定義模塊
這篇文章主要介紹了python如何使用import引入其他目錄文件或自定義模塊方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02Python lambda函數(shù)基本用法實(shí)例分析
這篇文章主要介紹了Python lambda函數(shù)基本用法,結(jié)合實(shí)例較為詳細(xì)的分析了Python lambda函數(shù)的功能、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2018-03-03pandas.DataFrame刪除/選取含有特定數(shù)值的行或列實(shí)例
今天小編就為大家分享一篇pandas.DataFrame刪除/選取含有特定數(shù)值的行或列實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-11-11在tensorflow中設(shè)置使用某一塊GPU、多GPU、CPU的操作
今天小編就為大家分享一篇在tensorflow中設(shè)置使用某一塊GPU、多GPU、CPU的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-02-02Django之PopUp的具體實(shí)現(xiàn)方法
今天小編就為大家分享一篇Django之PopUp的具體實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08Python 運(yùn)行.py文件和交互式運(yùn)行代碼的區(qū)別詳解
這篇文章主要介紹了Python 運(yùn)行.py文件和交互式運(yùn)行代碼的區(qū)別詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07python實(shí)現(xiàn)k均值算法示例(k均值聚類(lèi)算法)
這篇文章主要介紹了python實(shí)現(xiàn)k均值算法示例,簡(jiǎn)單實(shí)現(xiàn)平面的點(diǎn)K均值分析,使用歐幾里得距離,并用pylab展示,需要的朋友可以參考下2014-03-03Pytorch 使用CNN圖像分類(lèi)的實(shí)現(xiàn)
這篇文章主要介紹了Pytorch 使用CNN圖像分類(lèi)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06