python实现简单学生信息管理系统


Posted in Python onApril 09, 2020

python简单的学生信息管理系统-文件版,供大家参考,具体内容如下

功能如下

主函数部分
增加学生信息
修改学生信息
删除学生信息
查询学生
显示所有学生的信息
将数据录入文件
读取文件数据

学习文件模块后,将之前做的学生信息管理系统添加文件模块。

功能如下

1、新增学生信息;
2、修改学生信息;
3、删除学生信息;
4、查询学生信息;
5、显示学生信息;
6、将数据录入文件;
7、读取文件数据;
8、退出系统。

python实现简单学生信息管理系统

主函数部分

这里定义一个列表L,用来存储学生信息。

python实现简单学生信息管理系统

增加学生信息

将学生信息保存为字典添加到列表里。

def add():
 dict1 = {}
 sName = input("请输入学生姓名:")
 sAge = eval(input("请输入学生年龄:"))
 sNumber = eval(input("请输入学生学号:"))
 tele_num = eval(input("请输入手机号码:"))
 dict1["name"] = sName
 dict1["age"] = sAge
 dict1["sNumber"] = sNumber
 dict1["tele_num"] = tele_num
 L.append(dict1)
 print("增加成功")
 input("按任意键返回菜单")

python实现简单学生信息管理系统

修改学生信息

这里以学号为索引值,如果学号不在学生库里则提示无此学生。

def modify():
 num = eval(input("请输入学生学号:"))
 index1 = -1
 for i,dict in enumerate(L):
 if dict.get("sNumber") == num:
 index1 = i
 break
 if index1 != -1:
 L[index1]['name'] = input("请输入新的姓名:")
 L[index1]['age'] = eval(input("请输入新的年龄:"))
 L[index1]['sNumber'] = eval(input("请输入新的学号:"))
 L[index1]['tele_num'] = eval(input("请输入新的手机号:"))
 print("修改成功")
 else:
 print("无此学生")
 input("按任意键返回菜单")

删除学生信息

删除学生也是以学号为索引值,如果学号不在学生库里则提示无此学生。

def delete():
 num = eval(input("请输入要删除学生的学号:"))
 index1 = -1
 for i, dict in enumerate(L):
 if dict.get("sNumber") == num:
 index1 = i
 break
 if index1 != -1:
 del L[index1]
 print("删除成功")
 else:
 print("无此学生")
 input("按任意键返回菜单")

查询学生

查询成功此显示学生信息,否则提示无此学生。

def search():
 num = eval(input("请输入要查询学生的学号:"))
 index1 = -1
 for i, dict in enumerate(L):
 if dict.get("sNumber") == num:
 index1 = i
 break
 if index1 != -1:
 print("姓名:%s 年龄:%d 学号:%d 手机号码:%d" % (L[index1]["name"], L[index1]["age"], \
 L[index1]["sNumber"], L[index1]["tele_num"]))
 else:
 print("无此学生")
 input("按任意键返回菜单")

显示所有学生的信息

def prin():
 if len(L) == 0:
 print("无成员")
 else:
 for dict1 in L:
 print("姓名:%s 年龄:%d 学号:%d 手机号码:%d"%(dict1["name"], dict1["age"],\
 dict1["sNumber"], dict1["tele_num"]))
 input("按任意键返回菜单")

将数据录入文件

因为每个学生的信息是字典类型,所以录入之前先转化为字符串。

def write_file():
 file = open("student_list.data", 'w', encoding='utf-8')
 for i in L:
 file.write(str(i) + '\n')
 file.close()
 input("录入成功,按任意键返回菜单!")

读取文件数据

读取到的信息是字符串,可以使用eval()函数将信息变为原来的字典类型,再添加到列表里。

def read_file():
 try:
 file = open("student_list.data", 'r', encoding='utf-8')
 content = file.readlines()
 for i in content:
 L.append(eval(i))
 file.close()
 input("读取完成,按任意键返回菜单!")
 except:
 print("文件不存在")

更多学习资料请关注专题《管理系统开发》。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现探测socket和web服务示例
Mar 28 Python
Python中实现字符串类型与字典类型相互转换的方法
Aug 18 Python
Python中的连接符(+、+=)示例详解
Jan 13 Python
Python实现删除时保留特定文件夹和文件的示例
Apr 27 Python
python3+requests接口自动化session操作方法
Oct 13 Python
Python正则表达式和re库知识点总结
Feb 11 Python
pandas DataFrame创建方法的方式
Aug 02 Python
关于Pytorch MaxUnpool2d中size操作方式
Jan 03 Python
python的reverse函数翻转结果为None的问题
May 11 Python
python调用百度API实现人脸识别
Nov 17 Python
Python下opencv库的安装过程及问题汇总
Jun 11 Python
python缺失值填充方法示例代码
Dec 24 Python
Pycharm pyuic5实现将ui文件转为py文件,让UI界面成功显示
Apr 08 #Python
pycharm的python_stubs问题
Apr 08 #Python
Pycharm中安装Pygal并使用Pygal模拟掷骰子(推荐)
Apr 08 #Python
解决pycharm下pyuic工具使用的问题
Apr 08 #Python
解决pyqt5异常退出无提示信息的问题
Apr 08 #Python
python由已知数组快速生成新数组的方法
Apr 08 #Python
TensorFlow2.X使用图片制作简单的数据集训练模型
Apr 08 #Python
You might like
php jquery 多文件上传简单实例
2013/12/23 PHP
php实现mysql封装类示例
2014/05/07 PHP
typecho插件编写教程(四):插件挂载
2015/05/28 PHP
php实现36进制与10进制转换功能示例
2017/01/10 PHP
JavaScript基本概念初级讲解论坛贴的学习记录
2009/02/22 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
JS实现页面超时后自动跳转到登陆页面
2015/01/19 Javascript
JavaScript获取文本框内选中文本的方法
2015/02/20 Javascript
jquery zTree异步加载简单实例讲解
2016/02/25 Javascript
详解Matlab中 sort 函数用法
2016/03/20 Javascript
js 定位到某个锚点的方法
2016/11/19 Javascript
jQuery实现可拖拽3D万花筒旋转特效
2017/01/03 Javascript
基于canvas的二维码邀请函生成插件
2017/02/14 Javascript
mac上node.js环境的安装测试
2017/07/03 Javascript
使用veloticy-ui生成文字动画效果
2018/02/08 Javascript
关于jquery layui弹出层的使用方法
2018/04/21 jQuery
详解Vue中使用Echarts的两种方式
2018/07/03 Javascript
使用vue2.0创建的项目的步骤方法
2018/09/25 Javascript
js replace替换字符串同时替换多个方法
2018/11/27 Javascript
[jQuery] 事件和动画详解
2019/03/05 jQuery
layui实现图片虚拟路径上传,预览和删除的例子
2019/09/25 Javascript
js实现自动播放匀速轮播图
2020/02/06 Javascript
Vue filter 过滤器、以及在table中的使用介绍
2020/09/07 Javascript
vue使用lodop打印控件实现浏览器兼容打印的方法
2021/02/07 Vue.js
使用python在校内发人人网状态(人人网看状态)
2014/02/19 Python
python连接数据库的方法
2017/10/19 Python
Python列表解析操作实例总结
2020/02/26 Python
Django form表单与请求的生命周期步骤详解
2020/06/07 Python
python基于openpyxl生成excel文件
2020/12/23 Python
捷克原创男装和女装购物网站:Bolf.cz
2018/04/28 全球购物
奥地利度假券的专家:we-are.travel
2019/04/10 全球购物
生产部主管岗位职责
2014/01/06 职场文书
教师研修随笔感言
2014/01/23 职场文书
任命书范本大全
2014/06/06 职场文书
工地安全质量标语
2014/06/07 职场文书
JavaGUI模仿QQ聊天功能完整版
2021/07/04 Java/Android