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


Posted in Python onNovember 22, 2019

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

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

虽然以上代码可以完成上述功能,但是每次调用程序里面的数据全部清除掉了,所以为了更好的模拟现实的学生信息管理系统,我们还需要将上次操作过后的数据保存下来,所以在上面的基础上加上数据存储的代码。

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()

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

从结果可以看出,选择操作4后可以显示上次保留下来的学生信息。

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 控制语句
Nov 03 Python
python操作ssh实现服务器日志下载的方法
Jun 03 Python
Python自动化测试ConfigParser模块读写配置文件
Aug 15 Python
十行代码使用Python写一个USB病毒
Jun 21 Python
Django Docker容器化部署之Django-Docker本地部署
Oct 09 Python
Python字典生成式、集合生成式、生成器用法实例分析
Jan 07 Python
浅谈Pytorch torch.optim优化器个性化的使用
Feb 20 Python
Python编程快速上手——PDF文件操作案例分析
Feb 28 Python
python学生管理系统的实现
Apr 05 Python
keras打印loss对权重的导数方式
Jun 10 Python
python如何快速拼接字符串
Oct 28 Python
用Python实现职工信息管理系统
Dec 30 Python
基于python cut和qcut的用法及区别详解
Nov 22 #Python
python创建学生成绩管理系统
Nov 22 #Python
Python计算不规则图形面积算法实现解析
Nov 22 #Python
python实现连续变量最优分箱详解--CART算法
Nov 22 #Python
pycharm运行scrapy过程图解
Nov 22 #Python
python迭代器常见用法实例分析
Nov 22 #Python
python自动分箱,计算woe,iv的实例代码
Nov 22 #Python
You might like
用php随机生成福彩双色球号码的2种方法
2013/02/04 PHP
php字符串函数学习之substr()
2015/03/27 PHP
如何使用php实现评委评分器
2015/07/31 PHP
Yii2分页的使用及其扩展方法详解
2016/05/23 PHP
PHP处理CSV表格文件的常用操作方法总结
2016/07/01 PHP
PHP socket 模拟POST 请求实例代码
2016/07/18 PHP
thinkphp5框架路由原理与用法详解
2020/02/11 PHP
javascript比较文档位置
2008/04/08 Javascript
extJs 下拉框联动实现代码
2010/04/09 Javascript
原生js操作checkbox用document.getElementById实现
2013/10/12 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
2014/03/25 Javascript
javascript复制粘贴与clipboardData的使用
2014/10/16 Javascript
jquery判断单选按钮radio是否选中的方法
2015/05/05 Javascript
js实现的在线调色板功能完整实例
2016/12/21 Javascript
详解Node.js access_token的获取、存储及更新
2017/06/20 Javascript
vue.extend与vue.component的区别和联系
2018/09/19 Javascript
详解关于React-Router4.0跳转不置顶解决方案
2019/05/10 Javascript
微信小程序实现左侧滑动导航栏
2020/04/08 Javascript
vue实现输入框自动跳转功能
2020/05/20 Javascript
[02:42]DOTA2英雄基础教程 杰奇洛
2013/12/23 DOTA
Python urllib模块urlopen()与urlretrieve()详解
2013/11/01 Python
MySQLdb ImportError: libmysqlclient.so.18解决方法
2014/08/21 Python
Anaconda+vscode+pytorch环境搭建过程详解
2020/05/25 Python
django rest framework使用django-filter用法
2020/07/15 Python
css3与html5实现响应式导航菜单(导航栏)效果分享
2014/02/12 HTML / CSS
Html5 Geolocation获取地理位置信息实例
2016/12/09 HTML / CSS
世界上获奖最多的手机镜头:Olloclip
2018/03/03 全球购物
双立人美国官方商店:ZWILLING集团餐具和炊具
2020/05/07 全球购物
什么造成了Java里面的异常
2016/04/24 面试题
电子信息专业学生自荐信
2013/11/09 职场文书
家长给老师的道歉信
2014/01/13 职场文书
《圆明园的毁灭》教学反思
2014/02/28 职场文书
市级三好学生事迹材料
2014/08/27 职场文书
2014年社团工作总结范文
2014/11/27 职场文书
房贷收入证明范本
2015/06/12 职场文书
导游词之沈阳清昭陵
2019/12/28 职场文书