基于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抓取网页内容示例分享
Feb 24 Python
python里对list中的整数求平均并排序
Sep 12 Python
Python命令行参数解析模块getopt使用实例
Apr 13 Python
彻底理解Python list切片原理
Oct 27 Python
Python实现识别手写数字 简易图片存储管理系统
Jan 29 Python
python中实现数组和列表读取一列的方法
Apr 03 Python
Python简单获取网卡名称及其IP地址的方法【基于psutil模块】
May 24 Python
利用python GDAL库读写geotiff格式的遥感影像方法
Nov 29 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
Mar 13 Python
如何使用pyinstaller打包32位的exe程序
May 26 Python
Python编程快速上手——疯狂填词程序实现方法分析
Feb 29 Python
python爬虫开发之Request模块从安装到详细使用方法与实例全解
Mar 09 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
德劲1102收音机的打理维修案例
2021/03/02 无线电
自定义min版smarty模板引擎MinSmarty.class.php文件及用法
2016/05/20 PHP
PHP实现数组根据某个单元字段排序操作示例
2018/08/01 PHP
escape、encodeURI、encodeURIComponent等方法的区别比较
2006/12/27 Javascript
javascript中字符串拼接需注意的问题
2010/07/13 Javascript
jQuery.ajax 用户登录验证代码
2010/10/29 Javascript
javascript实现日期时间动态显示示例代码
2015/09/08 Javascript
js文字横向滚动特效
2015/11/11 Javascript
Javascript的表单验证-初识正则表达式
2016/03/18 Javascript
微信开发 js实现tabs选项卡效果
2016/10/28 Javascript
微信小程序 wxapp地图 map详解
2016/10/31 Javascript
JavaScript基础之this详解
2017/06/04 Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
2017/07/24 Javascript
基于Vue实现微前端的示例代码
2020/04/24 Javascript
[04:29]【TI9采访】OG.N0tail在胜者组决赛后接受采访
2019/08/25 DOTA
Python实现读取目录所有文件的文件名并保存到txt文件代码
2014/11/22 Python
Python构造函数及解构函数介绍
2015/02/26 Python
在Python中测试访问同一数据的竞争条件的方法
2015/04/23 Python
Python heapq使用详解及实例代码
2017/01/25 Python
Python存取XML的常见方法实例分析
2017/03/21 Python
用Python分析3天破10亿的《我不是药神》到底神在哪?
2018/07/12 Python
Python3爬虫学习之应对网站反爬虫机制的方法分析
2018/12/12 Python
如何使用Python 打印各种三角形
2019/06/28 Python
Python操作远程服务器 paramiko模块详细介绍
2019/08/07 Python
Pytorch卷积层手动初始化权值的实例
2019/08/17 Python
使用django和vue进行数据交互的方法步骤
2019/11/11 Python
在python中利用try..except来代替if..else的用法
2019/12/19 Python
Python爬虫程序架构和运行流程原理解析
2020/03/09 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
CSS3之背景尺寸Background-size使用介绍
2013/10/14 HTML / CSS
Shell编程面试题
2016/05/29 面试题
同事吵架检讨书
2014/02/05 职场文书
公司司机岗位职责范本
2014/03/03 职场文书
职工年度考核评语
2014/12/31 职场文书
MySQL 分区表中分区键为什么必须是主键的一部分
2022/03/17 MySQL
关于对TypeScript泛型参数的默认值理解
2022/07/15 Javascript