基于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不带重复的全排列代码
Aug 13 Python
python中的代码编码格式转换问题
Jun 10 Python
Python中字典的setdefault()方法教程
Feb 07 Python
利用Python+Java调用Shell脚本时的死锁陷阱详解
Jan 24 Python
Python使用numpy模块创建数组操作示例
Jun 20 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
Jun 27 Python
Django外键(ForeignKey)操作以及related_name的作用详解
Jul 29 Python
Python解决pip install时出现的Could not fetch URL问题
Aug 01 Python
python写一个随机点名软件的实例
Nov 28 Python
Python闭包与装饰器原理及实例解析
Apr 30 Python
Python实现GIF图倒放
Jul 16 Python
利用python汇总统计多张Excel
Sep 22 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
thinkphp在模型中自动完成session赋值示例代码
2014/09/09 PHP
php中的字符编码转换函数用法示例
2014/10/20 PHP
Yii框架布局文件的动态切换操作示例
2019/11/11 PHP
js中parseInt函数浅谈
2013/07/31 Javascript
简单的js表单验证函数
2013/10/28 Javascript
JS实现点击链接取消跳转效果的方法
2014/01/24 Javascript
JavaScript的作用域和块级作用域概念理解
2014/09/21 Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
2015/03/12 Javascript
jQuery延迟加载图片插件Lazy Load使用指南
2015/03/25 Javascript
个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
2015/06/10 Javascript
基于Javascript实现弹出页面效果
2016/01/01 Javascript
jQuery获取this当前对象子元素对象的方法
2016/11/29 Javascript
JS实现简易刻度时钟示例代码
2017/03/11 Javascript
web前端页面生成exe可执行文件的方法
2018/02/08 Javascript
JavaScript面向对象编程小游戏---贪吃蛇代码实例
2019/05/15 Javascript
node实现socket链接与GPRS进行通信的方法
2019/05/20 Javascript
JS实现的对象去重功能示例
2019/06/04 Javascript
ES6 Set结构的应用实例分析
2019/06/26 Javascript
编写更好的JavaScript条件式和匹配条件的技巧(小结)
2019/06/27 Javascript
JS中的继承操作实例总结
2020/06/06 Javascript
初步讲解Python中的元组概念
2015/05/21 Python
简单了解python代码优化小技巧
2019/07/08 Python
python连接打印机实现打印文档、图片、pdf文件等功能
2020/02/07 Python
css3遮罩层镂空效果的多种实现方法
2020/05/11 HTML / CSS
欧洲品牌瓷器餐具网上商店:Porzellantreff.de
2018/04/04 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2013/01/18 面试题
投标承诺书范本
2014/03/27 职场文书
读书月活动方案
2014/05/22 职场文书
节约粮食标语
2014/06/18 职场文书
百日安全生产活动总结
2014/07/05 职场文书
个人委托书怎么写
2014/09/17 职场文书
2015年健康教育工作总结
2015/04/10 职场文书
施工安全员岗位职责
2015/04/11 职场文书
小型婚礼主持词
2015/06/30 职场文书
市语委办2016年第十九届“推普周”活动总结
2016/04/05 职场文书
springboot @ConfigurationProperties和@PropertySource的区别
2021/06/11 Java/Android