基于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获取当前时间的方法
Jan 14 Python
Python中itertools模块用法详解
Sep 25 Python
python实现俄罗斯方块
Jun 26 Python
详解分布式任务队列Celery使用说明
Nov 29 Python
python定时检测无响应进程并重启的实例代码
Apr 22 Python
浅谈PyQt5 的帮助文档查找方法,可以查看每个类的方法
Jun 25 Python
这可能是最好玩的python GUI入门实例(推荐)
Jul 19 Python
Python基于OpenCV实现人脸检测并保存
Jul 23 Python
python生成并处理uuid的实现方式
Mar 03 Python
pyautogui自动化控制鼠标和键盘操作的步骤
Apr 01 Python
Python3中小括号()、中括号[]、花括号{}的区别详解
Nov 15 Python
解决Pytorch中关于model.eval的问题
May 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
PHP 的几个配置文件函数
2006/12/21 PHP
php array_map array_multisort 高效处理多维数组排序
2009/06/11 PHP
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
2011/10/17 PHP
php获取通过http协议post提交过来xml数据及解析xml
2012/12/16 PHP
php的POSIX 函数以及进程测试的深入分析
2013/06/03 PHP
php mail to 配置详解
2014/01/16 PHP
PHP 数组基本操作小结(推荐)
2016/06/13 PHP
CI框架简单分页类用法示例
2020/06/06 PHP
jQuery 可以拖动的div实现代码 脚本之家修正版
2009/06/26 Javascript
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
jQuery照片伸缩效果不影响其他元素的布局
2014/05/09 Javascript
Bootstrap+jfinal实现省市级联下拉菜单
2016/05/30 Javascript
Ubuntu系统下Angularjs开发环境安装
2016/09/01 Javascript
jQuery-mobile事件监听与用法详解
2016/11/23 Javascript
深入理解Angularjs中的$resource服务
2016/12/31 Javascript
JavaScript装饰器函数(Decorator)实例详解
2017/03/30 Javascript
php结合js实现多条件组合查询
2019/05/28 Javascript
[02:35]DOTA2英雄基础教程 狙击手
2014/01/14 DOTA
[06:44]2014DOTA2国际邀请赛-钥匙体育馆开战 开幕式振奋人心
2014/07/19 DOTA
用Python将IP地址在整型和字符串之间轻松转换
2017/03/22 Python
python 生成器生成杨辉三角的方法(必看)
2017/04/10 Python
Python Pandas 箱线图的实现
2019/07/23 Python
python 实现生成均匀分布的点
2019/12/05 Python
python调用c++返回带成员指针的类指针实例
2019/12/12 Python
Python3 main函数使用sys.argv传入多个参数的实现
2019/12/25 Python
没编程基础可以学python吗
2020/06/17 Python
matplotlib绘制鼠标的十字光标的实现(内置方式)
2021/01/06 Python
意大利比基尼品牌:MISS BIKINI
2019/11/02 全球购物
教师师德师风自我剖析材料
2014/09/29 职场文书
2014年惩防体系建设工作总结
2014/12/01 职场文书
2014年高数考试作弊检讨书
2014/12/14 职场文书
同事去世追悼词
2015/06/23 职场文书
2015年教师国培感言
2015/08/01 职场文书
毕业晚宴祝酒词
2015/08/11 职场文书
使用HTML+Css+transform实现3D导航栏的示例代码
2021/03/31 HTML / CSS
Redis超详细讲解高可用主从复制基础与哨兵模式方案
2022/04/07 Redis