基于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 struct.unpack
Sep 06 Python
Python中decorator使用实例
Apr 14 Python
在Django的视图中使用form对象的方法
Jul 18 Python
解决Python传递中文参数的问题
Aug 04 Python
CentOS 6.5下安装Python 3.5.2(与Python2并存)
Jun 05 Python
Python实现的当前时间多加一天、一小时、一分钟操作示例
May 21 Python
神经网络相关之基础概念的讲解
Dec 29 Python
Python3实现zip分卷压缩过程解析
Oct 09 Python
Python通过socketserver处理多个链接
Mar 18 Python
python删除指定列或多列单个或多个内容实例
Jun 28 Python
matplotlib基础绘图命令之errorbar的使用
Aug 13 Python
利用Python读取微信朋友圈的多种方法总结
Aug 23 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
漂亮但不安全的CTB
2006/10/09 PHP
PHP随机数生成代码与使用实例分析
2011/04/08 PHP
PHP中error_reporting()函数的用法(修改PHP屏蔽错误)
2011/07/01 PHP
php 读取文件头判断文件类型的实现代码
2013/08/05 PHP
php分页函数示例代码分享
2014/02/24 PHP
PHP批量去除BOM头代码分享
2015/06/26 PHP
微信支付之JSAPI公众号支付详解
2019/05/15 PHP
js刷新框架子页面的七种方法代码
2008/11/20 Javascript
15 个 JavaScript Web UI 库
2010/05/19 Javascript
jquery 面包屑导航 具体实现
2013/06/05 Javascript
深入理解Javascript里的依赖注入
2014/03/19 Javascript
HTML页面登录时的JS验证方法
2014/05/28 Javascript
jQuery插件Skippr实现焦点图幻灯片特效
2015/04/12 Javascript
纯css下拉菜单 无需js
2016/08/15 Javascript
jquery+Jscex打造游戏力度条
2020/09/12 Javascript
关于vue-resource报错450的解决方案
2017/07/24 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
JavaScript创建对象方式总结【工厂模式、构造函数模式、原型模式等】
2018/12/19 Javascript
详解vue中axios的使用与封装
2019/03/20 Javascript
[01:39]2014DOTA2国际邀请赛 Newbee经理CU专访队伍火力全开
2014/07/15 DOTA
[35:26]DOTA2上海特级锦标赛B组小组赛#2 VG VS Fnatic第三局
2016/02/26 DOTA
python实现k均值算法示例(k均值聚类算法)
2014/03/16 Python
python关键字and和or用法实例
2015/05/28 Python
pyqt弹出新对话框,以及关闭对话框获取数据的实例
2019/06/18 Python
Python-Tkinter Text输入内容在界面显示的实例
2019/07/12 Python
如何在Python对Excel进行读取
2020/06/04 Python
python+flask编写一个简单的登录接口
2020/11/13 Python
Does C# support multiple inheritance? (C#支持多重继承吗)
2012/01/04 面试题
药学专业大专生的自我评价
2013/12/12 职场文书
给朋友的道歉信
2014/01/09 职场文书
战友聚会邀请函
2014/01/18 职场文书
《跨越百年的美丽》教学反思
2014/02/11 职场文书
幼儿园元旦活动感言
2014/03/02 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
财务管理专业求职信
2014/06/11 职场文书
win11电脑关机鼠标灯还亮怎么解决? win11关机后鼠标灯还亮解决方法
2023/01/09 数码科技