您的位置:首页 > 编程语言 > Python开发

基于python实现学生信息管理系统

2020-02-13 11:33 2101 查看

学生信息管理系统负责编辑学生信息,适时地更新学生的资料。下面通过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 学生 管理系统