基于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从入门到精通(DAY 1)
Dec 20 Python
使用Python的Twisted框架编写非阻塞程序的代码示例
May 25 Python
Python编程实现双击更新所有已安装python模块的方法
Jun 05 Python
简单谈谈python中的语句和语法
Aug 10 Python
Python实现基于C/S架构的聊天室功能详解
Jul 07 Python
Python获取航线信息并且制作成图的讲解
Jan 03 Python
python二进制文件的转译详解
Jul 03 Python
python tornado修改log输出方式
Nov 18 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
Feb 22 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
Jun 04 Python
基于python实现操作redis及消息队列
Aug 27 Python
详解Python中Pyyaml模块的使用
Oct 08 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图片加中文水印实现代码分享
2012/10/31 PHP
PHP Directory 函数的详解
2013/03/07 PHP
PHP命名空间简单用法示例
2018/12/28 PHP
jquery ui dialog里调用datepicker的问题
2009/08/06 Javascript
JQuery实现鼠标移动图片显示描述层的方法
2015/06/25 Javascript
jQuery form插件之ajaxForm()和ajaxSubmit()的可选参数项对象
2016/01/23 Javascript
JS HTML5实现拖拽移动列表效果
2020/08/27 Javascript
JS实现的适合做faq或menu滑动效果示例
2016/11/17 Javascript
js实现类bootstrap模态框动画
2017/02/07 Javascript
详解node+express+ejs+bootstrap构建项目
2017/09/27 Javascript
vue组件tabbar使用方法详解
2018/11/06 Javascript
vue数据操作之点击事件实现num加减功能示例
2019/01/19 Javascript
详解 微信小程序开发框架(MINA)
2019/05/17 Javascript
Vue中key的作用示例代码详解
2020/06/10 Javascript
[02:28]DOTA2 2015国际邀请赛中国区预选赛首日现场百态
2015/05/26 DOTA
[01:01:41]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第二场 1月31日
2021/03/11 DOTA
python读文件保存到字典,修改字典并写入新文件的实例
2018/04/23 Python
pandas 对每一列数据进行标准化的方法
2018/06/09 Python
基于python 微信小程序之获取已存在模板消息列表
2019/08/05 Python
django自带serializers序列化返回指定字段的方法
2019/08/21 Python
时尚、社区、科技:SEVENSTORE
2019/04/26 全球购物
银行会计财务工作个人的自我评价
2013/10/29 职场文书
大学社团计划书
2014/05/01 职场文书
改革共识倡议书
2014/08/29 职场文书
公司法定代表人授权委托书
2014/09/29 职场文书
租车协议书范本2014
2014/11/17 职场文书
先进典型事迹材料
2014/12/29 职场文书
通知书大全
2015/04/27 职场文书
2015年客房服务员工作总结
2015/05/15 职场文书
通讯稿格式及范文
2015/07/22 职场文书
2016年五一国际劳动节活动总结
2016/04/06 职场文书
redis连接被拒绝的解决方案
2021/04/12 Redis
react中props 的使用及进行限制的方法
2021/04/28 Javascript
SQL注入详解及防范方法
2021/12/06 MySQL
Ruby处理CSV数据方法详解
2022/04/18 Ruby
win10怎么设置右下角图标不折叠?Win10设置右下角图标不折叠的方法
2022/07/15 数码科技