基于python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
學(xué)生信息管理系統(tǒng)負(fù)責(zé)編輯學(xué)生信息,適時(shí)地更新學(xué)生的資料。下面通過python實(shí)現(xiàn)一個(gè)簡(jiǎn)單的學(xué)生信息管理系統(tǒng)
stuInfo=[] def main(): while True: printMenu() #打印菜單 key=int(input('請(qǐng)輸入功能對(duì)應(yīng)的數(shù)字:')) if key==1: addInfo() #添加學(xué)生信息 elif key==2: delInfo() #刪除學(xué)生信息 elif key==3: modifystuInfo() #修改學(xué)生信息 elif key==4: showstuInfo() #查看學(xué)生所有信息 elif key==5: #退出系統(tǒng) quitConfirm=input('真的要退出嗎?(Yes or No):') if quitConfirm=='Yes': break #結(jié)束循環(huán) else: print('輸入有誤,請(qǐng)重新輸入') #打印功能提示 def printMenu(): print('='*30) print('學(xué)生信息管理系統(tǒng)V1.0') print('1.添加學(xué)生信息') print('2.刪除學(xué)生信息') print('3.修改學(xué)生信息') print('4.顯示所有學(xué)生信息') print('5.退出系統(tǒng)') print('='*30) #添加學(xué)生信息 def addInfo(): newname=input('輸入新學(xué)生的名字:') newsex=input('輸入新學(xué)生的性別:') newphone=input('輸入新學(xué)生的號(hào)碼:') newInfo={} newInfo['name']=newname newInfo['sex']=newsex newInfo['phone']=newphone stuInfo.append(newInfo) #刪除學(xué)生信息 def delInfo(): delNum=int(input('請(qǐng)輸入要?jiǎng)h除的序號(hào):'))-1 del stuInfo[delNum] #修改學(xué)生信息 def modifystuInfo(): stuId=int(input('請(qǐng)輸入要修改的學(xué)生序號(hào):'))-1 newname=input('輸入修改后學(xué)生的名字:') newsex=input('輸入修改后學(xué)生的性別:') newphone=input('輸入修改后學(xué)生的號(hào)碼:') stuInfo[stuId]['name']=newname stuInfo[stuId]['sex']=newsex stuInfo[stuId]['phone']=newphone #顯示所有學(xué)生信息 def showstuInfo(): print('='*30) print('學(xué)生信息如下:') print('='*30) i=1 for tempInfo in stuInfo: print('%d %s %s %s'%(i,tempInfo['name'],tempInfo['sex'],tempInfo['phone'])) i+=1
調(diào)用main()函數(shù)即可:
雖然以上代碼可以完成上述功能,但是每次調(diào)用程序里面的數(shù)據(jù)全部清除掉了,所以為了更好的模擬現(xiàn)實(shí)的學(xué)生信息管理系統(tǒng),我們還需要將上次操作過后的數(shù)據(jù)保存下來,所以在上面的基礎(chǔ)上加上數(shù)據(jù)存儲(chǔ)的代碼。
stuInfo=[] def main(): recoverData() while True: printMenu() #打印菜單 key=int(input('請(qǐng)輸入功能對(duì)應(yīng)的數(shù)字:')) if key==1: addInfo() #添加學(xué)生信息 elif key==2: delInfo() #刪除學(xué)生信息 elif key==3: modifystuInfo() #修改學(xué)生信息 elif key==4: showstuInfo() #查看學(xué)生所有信息 elif key==5: saveToFile() elif key==0: #退出系統(tǒng) quitConfirm=input('真的要退出嗎?(Yes or No):') if quitConfirm=='Yes': break #結(jié)束循環(huán) else: print('輸入有誤,請(qǐng)重新輸入') #打印功能提示 def printMenu(): print('='*30) print('學(xué)生信息管理系統(tǒng)V1.0') print('1.添加學(xué)生信息') print('2.刪除學(xué)生信息') print('3.修改學(xué)生信息') print('4.顯示所有學(xué)生信息') print('5.保存數(shù)據(jù)') print('0.退出系統(tǒng)') print('='*30) #添加學(xué)生信息 def addInfo(): newname=input('輸入新學(xué)生的名字:') newsex=input('輸入新學(xué)生的性別:') newphone=input('輸入新學(xué)生的號(hào)碼:') newInfo={} newInfo['name']=newname newInfo['sex']=newsex newInfo['phone']=newphone stuInfo.append(newInfo) #刪除學(xué)生信息 def delInfo(): delNum=int(input('請(qǐng)輸入要?jiǎng)h除的序號(hào):'))-1 del stuInfo[delNum] #修改學(xué)生信息 def modifystuInfo(): stuId=int(input('請(qǐng)輸入要修改的學(xué)生序號(hào):'))-1 newname=input('輸入修改后學(xué)生的名字:') newsex=input('輸入修改后學(xué)生的性別:') newphone=input('輸入修改后學(xué)生的號(hào)碼:') stuInfo[stuId]['name']=newname stuInfo[stuId]['sex']=newsex stuInfo[stuId]['phone']=newphone #顯示所有學(xué)生信息 def showstuInfo(): print('='*30) print('學(xué)生信息如下:') print('='*30) i=1 for tempInfo in stuInfo: print('%d %s %s %s'%(i,tempInfo['name'],tempInfo['sex'],tempInfo['phone'])) i+=1 #保存學(xué)生信息 def saveToFile(): f=open('backup.data','w') f.write(str(stuInfo)) f.close() #恢復(fù)數(shù)據(jù) def recoverData(): global stuInfo f=open('backup.data') content=f.read() stuInfo=eval(content) f.close()
從結(jié)果可以看出,選擇操作4后可以顯示上次保留下來的學(xué)生信息。
更多學(xué)習(xí)資料請(qǐng)關(guān)注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部?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學(xué)生信息管理系統(tǒng)
- python學(xué)生信息管理系統(tǒng)實(shí)現(xiàn)代碼
- python實(shí)現(xiàn)簡(jiǎn)單學(xué)生信息管理系統(tǒng)
- python學(xué)生信息管理系統(tǒng)(初級(jí)版)
- 學(xué)生信息管理系統(tǒng)Python面向?qū)ο蟀?/a>
- python代碼實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)
相關(guān)文章
Python Web程序搭建簡(jiǎn)單的Web服務(wù)器
這篇文章主要介紹了Python Web程序搭建簡(jiǎn)單的Web服務(wù)器,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Python3.x檢查內(nèi)存可用大小的兩種實(shí)現(xiàn)
本文將介紹如何使用Python 3實(shí)現(xiàn)檢查L(zhǎng)inux服務(wù)器內(nèi)存可用大小的方法,包括使用Python標(biāo)準(zhǔn)庫實(shí)現(xiàn)和使用Linux命令實(shí)現(xiàn)兩種方式,感興趣可以了解一下2023-05-05Swift 3.0在集合類數(shù)據(jù)結(jié)構(gòu)上的一些新變化總結(jié)
與字符串類似,Swift3在數(shù)組和字典等結(jié)構(gòu)上也有改動(dòng),這里我們就來整理Swift 3.0在集合類數(shù)據(jù)結(jié)構(gòu)上的一些新變化總結(jié):2016-07-07python使用matplotlib的savefig保存時(shí)圖片保存不完整的問題
這篇文章主要介紹了python使用matplotlib的savefig保存時(shí)圖片保存不完整的問題,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01