基于python實現(xiàn)學(xué)生信息管理系統(tǒng)
學(xué)生信息管理系統(tǒng)負(fù)責(zé)編輯學(xué)生信息,適時地更新學(xué)生的資料。下面通過python實現(xiàn)一個簡單的學(xué)生信息管理系統(tǒng)
stuInfo=[]
def main():
while True:
printMenu() #打印菜單
key=int(input('請輸入功能對應(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('輸入有誤,請重新輸入')
#打印功能提示
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é)生的號碼:')
newInfo={}
newInfo['name']=newname
newInfo['sex']=newsex
newInfo['phone']=newphone
stuInfo.append(newInfo)
#刪除學(xué)生信息
def delInfo():
delNum=int(input('請輸入要刪除的序號:'))-1
del stuInfo[delNum]
#修改學(xué)生信息
def modifystuInfo():
stuId=int(input('請輸入要修改的學(xué)生序號:'))-1
newname=input('輸入修改后學(xué)生的名字:')
newsex=input('輸入修改后學(xué)生的性別:')
newphone=input('輸入修改后學(xué)生的號碼:')
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)實的學(xué)生信息管理系統(tǒng),我們還需要將上次操作過后的數(shù)據(jù)保存下來,所以在上面的基礎(chǔ)上加上數(shù)據(jù)存儲的代碼。
stuInfo=[]
def main():
recoverData()
while True:
printMenu() #打印菜單
key=int(input('請輸入功能對應(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('輸入有誤,請重新輸入')
#打印功能提示
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é)生的號碼:')
newInfo={}
newInfo['name']=newname
newInfo['sex']=newsex
newInfo['phone']=newphone
stuInfo.append(newInfo)
#刪除學(xué)生信息
def delInfo():
delNum=int(input('請輸入要刪除的序號:'))-1
del stuInfo[delNum]
#修改學(xué)生信息
def modifystuInfo():
stuId=int(input('請輸入要修改的學(xué)生序號:'))-1
newname=input('輸入修改后學(xué)生的名字:')
newsex=input('輸入修改后學(xué)生的性別:')
newphone=input('輸入修改后學(xué)生的號碼:')
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í)資料請關(guān)注專題《管理系統(tǒng)開發(fā)》。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- python學(xué)生信息管理系統(tǒng)(完整版)
- Python實現(xiàn)GUI學(xué)生信息管理系統(tǒng)
- python實現(xiàn)學(xué)生信息管理系統(tǒng)
- python實現(xiàn)簡易學(xué)生信息管理系統(tǒng)
- python學(xué)生信息管理系統(tǒng)
- python學(xué)生信息管理系統(tǒng)實現(xiàn)代碼
- python實現(xiàn)簡單學(xué)生信息管理系統(tǒng)
- python學(xué)生信息管理系統(tǒng)(初級版)
- 學(xué)生信息管理系統(tǒng)Python面向?qū)ο蟀?/a>
- python代碼實現(xiàn)學(xué)生信息管理系統(tǒng)
相關(guān)文章
Python3.x檢查內(nèi)存可用大小的兩種實現(xiàn)
本文將介紹如何使用Python 3實現(xiàn)檢查Linux服務(wù)器內(nèi)存可用大小的方法,包括使用Python標(biāo)準(zhǔn)庫實現(xiàn)和使用Linux命令實現(xiàn)兩種方式,感興趣可以了解一下2023-05-05
Swift 3.0在集合類數(shù)據(jù)結(jié)構(gòu)上的一些新變化總結(jié)
與字符串類似,Swift3在數(shù)組和字典等結(jié)構(gòu)上也有改動,這里我們就來整理Swift 3.0在集合類數(shù)據(jù)結(jié)構(gòu)上的一些新變化總結(jié):2016-07-07
python使用matplotlib的savefig保存時圖片保存不完整的問題
這篇文章主要介紹了python使用matplotlib的savefig保存時圖片保存不完整的問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01

