基于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中字典创建、遍历、添加等实用操作技巧合集
Jun 02 Python
浅谈python和C语言混编的几种方式(推荐)
Sep 27 Python
Python实现压缩和解压缩ZIP文件的方法分析
Sep 28 Python
Python实现一个服务器监听多个客户端请求
Apr 12 Python
浅谈关于Python3中venv虚拟环境
Aug 01 Python
python实现关闭第三方窗口的方法
Jun 28 Python
Python入门Anaconda和Pycharm的安装和配置详解
Jul 16 Python
Python3的unicode编码转换成中文的问题及解决方案
Dec 10 Python
Pycharm自带Git实现版本管理的方法步骤
Sep 18 Python
如何通过python实现IOU计算代码实例
Nov 02 Python
pycharm 复制代码出现空格的解决方式
Jan 15 Python
浅谈Python中对象是如何被调用的
Apr 06 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/23 PHP
php判断终端是手机还是电脑访问网站的思路及代码
2013/04/24 PHP
php微信开发之批量生成带参数的二维码
2016/06/26 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
PHP+MySQL实现消息队列的方法分析
2018/05/09 PHP
laravel Validator ajax返回错误信息的方法
2019/09/29 PHP
IE FF OPERA都可用的弹出层实现代码
2009/09/29 Javascript
jquery控制listbox中项的移动并排序
2009/11/12 Javascript
js的参数有长度限制吗?发现不能超过2083个字符
2014/04/20 Javascript
Javascript基础_标记文字的实现方法
2016/06/14 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
2016/09/18 Javascript
Vue如何实现组件的源码解析
2017/06/08 Javascript
使用Nodejs连接mongodb数据库的实现代码
2017/08/21 NodeJs
Webpack优化配置缩小文件搜索范围
2017/12/25 Javascript
微信小程序画布圆形进度条显示效果
2020/11/17 Javascript
vue src动态加载请求获取图片的方法
2018/10/17 Javascript
Nodejs中怎么实现函数的串行执行
2019/03/02 NodeJs
jquery获取并修改触发事件的DOM元素示例【基于target 属性】
2019/10/10 jQuery
Layui实现数据表格默认全部显示(不要分页)
2019/10/26 Javascript
Angular value与ngValue区别详解
2019/11/27 Javascript
JavaScript定时器使用方法详解
2020/03/26 Javascript
[01:12]快闪回顾DOTA2亚洲邀请赛(DAC) 静候2018新征程开启
2018/03/11 DOTA
python异常和文件处理机制详解
2016/07/19 Python
详解python 发送邮件实例代码
2016/12/22 Python
基于Django框架利用Ajax实现点赞功能实例代码
2018/08/19 Python
解决Django Static内容不能加载显示的问题
2019/07/28 Python
Python DataFrame一列拆成多列以及一行拆成多行
2019/08/06 Python
tensorflow 实现从checkpoint中获取graph信息
2020/02/10 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
2020/07/02 Python
python3字符串输出常见面试题总结
2020/12/01 Python
Aerosoles爱柔仕官网:美国舒软女鞋品牌
2017/07/17 全球购物
中学生打架检讨书
2014/02/10 职场文书
公共场所禁烟倡议书
2014/08/30 职场文书
违章停车检讨书
2014/10/21 职场文书
手机销售员岗位职责
2015/04/11 职场文书
MySQL学习之基础操作总结
2022/03/19 MySQL