时间:2021-02-04 python教程 查看: 850
学生信息管理系统负责编辑学生信息,适时地更新学生的资料。下面通过python实现一个简单的学生信息管理系统
stuInfo=[]
def main():
while True:
printMenu() #打印菜单
key=int(input('请输入功能对应的数字:'))
if key==1:
addInfo() #添加学生信息
elif key==2:
delInfo() #删除学生信息
elif key==3:
modifystuInfo() #修改学生信息
elif key==4:
showstuInfo() #查看学生所有信息
elif key==5: #退出系统
quitConfirm=input('真的要退出吗?(Yes or No):')
if quitConfirm=='Yes':
break #结束循环
else:
print('输入有误,请重新输入')
#打印功能提示
def printMenu():
print('='*30)
print('学生信息管理系统V1.0')
print('1.添加学生信息')
print('2.删除学生信息')
print('3.修改学生信息')
print('4.显示所有学生信息')
print('5.退出系统')
print('='*30)
#添加学生信息
def addInfo():
newname=input('输入新学生的名字:')
newsex=input('输入新学生的性别:')
newphone=input('输入新学生的号码:')
newInfo={}
newInfo['name']=newname
newInfo['sex']=newsex
newInfo['phone']=newphone
stuInfo.append(newInfo)
#删除学生信息
def delInfo():
delNum=int(input('请输入要删除的序号:'))-1
del stuInfo[delNum]
#修改学生信息
def modifystuInfo():
stuId=int(input('请输入要修改的学生序号:'))-1
newname=input('输入修改后学生的名字:')
newsex=input('输入修改后学生的性别:')
newphone=input('输入修改后学生的号码:')
stuInfo[stuId]['name']=newname
stuInfo[stuId]['sex']=newsex
stuInfo[stuId]['phone']=newphone
#显示所有学生信息
def showstuInfo():
print('='*30)
print('学生信息如下:')
print('='*30)
i=1
for tempInfo in stuInfo:
print('%d %s %s %s'%(i,tempInfo['name'],tempInfo['sex'],tempInfo['phone']))
i+=1
调用main()函数即可:
虽然以上代码可以完成上述功能,但是每次调用程序里面的数据全部清除掉了,所以为了更好的模拟现实的学生信息管理系统,我们还需要将上次操作过后的数据保存下来,所以在上面的基础上加上数据存储的代码。
stuInfo=[]
def main():
recoverData()
while True:
printMenu() #打印菜单
key=int(input('请输入功能对应的数字:'))
if key==1:
addInfo() #添加学生信息
elif key==2:
delInfo() #删除学生信息
elif key==3:
modifystuInfo() #修改学生信息
elif key==4:
showstuInfo() #查看学生所有信息
elif key==5:
saveToFile()
elif key==0: #退出系统
quitConfirm=input('真的要退出吗?(Yes or No):')
if quitConfirm=='Yes':
break #结束循环
else:
print('输入有误,请重新输入')
#打印功能提示
def printMenu():
print('='*30)
print('学生信息管理系统V1.0')
print('1.添加学生信息')
print('2.删除学生信息')
print('3.修改学生信息')
print('4.显示所有学生信息')
print('5.保存数据')
print('0.退出系统')
print('='*30)
#添加学生信息
def addInfo():
newname=input('输入新学生的名字:')
newsex=input('输入新学生的性别:')
newphone=input('输入新学生的号码:')
newInfo={}
newInfo['name']=newname
newInfo['sex']=newsex
newInfo['phone']=newphone
stuInfo.append(newInfo)
#删除学生信息
def delInfo():
delNum=int(input('请输入要删除的序号:'))-1
del stuInfo[delNum]
#修改学生信息
def modifystuInfo():
stuId=int(input('请输入要修改的学生序号:'))-1
newname=input('输入修改后学生的名字:')
newsex=input('输入修改后学生的性别:')
newphone=input('输入修改后学生的号码:')
stuInfo[stuId]['name']=newname
stuInfo[stuId]['sex']=newsex
stuInfo[stuId]['phone']=newphone
#显示所有学生信息
def showstuInfo():
print('='*30)
print('学生信息如下:')
print('='*30)
i=1
for tempInfo in stuInfo:
print('%d %s %s %s'%(i,tempInfo['name'],tempInfo['sex'],tempInfo['phone']))
i+=1
#保存学生信息
def saveToFile():
f=open('backup.data','w')
f.write(str(stuInfo))
f.close()
#恢复数据
def recoverData():
global stuInfo
f=open('backup.data')
content=f.read()
stuInfo=eval(content)
f.close()
从结果可以看出,选择操作4后可以显示上次保留下来的学生信息。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持python博客。