基于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中使用urllib2获取http请求状态码的代码例子
Jul 07 Python
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
Mar 19 Python
python实现折半查找和归并排序算法
Apr 14 Python
Python之ReportLab绘制条形码和二维码的实例
Jan 15 Python
Django自定义过滤器定义与用法示例
Mar 22 Python
对dataframe进行列相加,行相加的实例
Jun 08 Python
Python列表删除元素del、pop()和remove()的区别小结
Sep 11 Python
python 普通克里金(Kriging)法的实现
Dec 19 Python
Centos7下源码安装Python3 及shell 脚本自动安装Python3的教程
Mar 07 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
Mar 13 Python
python3处理word文档实例分析
Dec 01 Python
python绘制汉诺塔
Mar 01 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
无线电波是什么?它是怎样传输的?
2021/03/01 无线电
Mysql的常用命令
2006/10/09 PHP
在smarty模板中使用PHP函数的方法
2011/04/23 PHP
用PHP写的基于Memcache的Queue实现代码
2011/11/27 PHP
ubuntu12.04使用c编写php扩展模块教程分享
2013/12/25 PHP
微信扫描二维码登录网站代码示例
2013/12/30 PHP
mac下Apache + MySql + PHP搭建网站开发环境
2014/06/02 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
2016/05/13 PHP
PHP中一个有趣的preg_replace函数详解
2018/08/15 PHP
jQuery图片特效插件Revealing实现拉伸放大
2015/04/22 Javascript
JS判断字符串包含的方法
2015/05/05 Javascript
jquery分隔Url的param方法(推荐)
2016/05/25 Javascript
全面解析Bootstrap中Carousel轮播的使用方法
2016/06/13 Javascript
BootStrap初学者对弹出框和进度条的使用感觉
2016/06/27 Javascript
利用BootStrap的Carousel.js实现轮播图动画效果
2016/12/21 Javascript
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
2019/05/14 Javascript
Python常用知识点汇总
2016/05/08 Python
Python3实现的判断环形链表算法示例
2019/03/07 Python
Python3.5常见内置方法参数用法实例详解
2019/04/29 Python
python导包的几种方法(自定义包的生成以及导入详解)
2019/07/15 Python
详解Python3定时器任务代码
2019/09/23 Python
Python 转换RGB颜色值的示例代码
2019/10/13 Python
通过字符串导入 Python 模块的方法详解
2019/10/27 Python
Kears 使用:通过回调函数保存最佳准确率下的模型操作
2020/06/17 Python
基于python爬取梨视频实现过程解析
2020/11/09 Python
基于CSS3的animation属性实现微信拍一拍动画效果
2020/06/22 HTML / CSS
美国领先的个性化礼品商城:Personalization Mall
2019/07/27 全球购物
英国最受欢迎的平价女士时装零售商:Roman Originals
2019/11/02 全球购物
我们没有写servlet的构造方法,那么容器是怎么创建servlet的实例呢
2013/04/24 面试题
三月学雷锋月活动总结
2014/04/28 职场文书
向国旗敬礼活动总结范文2014
2014/09/27 职场文书
2015年安置帮教工作总结
2015/05/22 职场文书
主持人大赛开场白
2015/05/29 职场文书
庭外和解协议书
2016/03/23 职场文书
导游词之铁岭象牙山
2019/12/06 职场文书
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL