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使用xmlrpc实例讲解
Dec 17 Python
python getopt详解及简单实例
Dec 30 Python
Python 实现选择排序的算法步骤
Apr 22 Python
Django Rest framework认证组件详细用法
Jul 25 Python
python操作cfg配置文件方式
Dec 22 Python
python列表推导和生成器表达式知识点总结
Jan 10 Python
基于python3的socket聊天编程
Feb 17 Python
python GUI库图形界面开发之PyQt5打印控件QPrinter详细使用方法与实例
Feb 28 Python
python实现批量命名照片
Jun 18 Python
Python第三方包PrettyTable安装及用法解析
Jul 08 Python
pycharm中如何自定义设置通过“ctrl+滚轮”进行放大和缩小实现方法
Sep 16 Python
OpenCV-Python实现怀旧滤镜与连环画滤镜
Jun 09 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打开文件fopen函数的使用说明
2013/07/05 PHP
Laravel学习教程之View模块详解
2017/09/18 PHP
javascript实现的距离现在多长时间后的一个格式化的日期
2009/10/29 Javascript
Javascript 面向对象编程(一) 封装
2011/08/28 Javascript
深入理解JavaScript系列(4) 立即调用的函数表达式
2012/01/15 Javascript
基于jQuery实现表格的排序
2016/12/02 Javascript
JSON与JS对象的区别与对比
2017/03/01 Javascript
jQuery Pagination分页插件_动力节点Java学院整理
2017/07/17 jQuery
JS实现按钮添加背景音乐示例代码
2017/10/17 Javascript
Angular数据绑定机制原理
2018/04/17 Javascript
jQuery 实现批量提交表格多行数据的方法
2018/08/09 jQuery
React SSR样式及SEO的实践
2018/10/22 Javascript
超详细动手搭建一个VuePress 站点及开启PWA与自动部署的方法
2019/01/27 Javascript
vuex实现及简略解析(小结)
2019/03/01 Javascript
vue router 通过路由来实现切换头部标题功能
2019/04/24 Javascript
使用webpack4编译并压缩ES6代码的方法示例
2019/04/24 Javascript
JS开发自己的类库实例分析
2019/08/28 Javascript
js实现简单扫雷
2020/11/27 Javascript
JavaScript实现拖拽和缩放效果
2020/08/24 Javascript
[05:05]给小松五分钟系列 第二期介绍为什么打DOTA2
2014/07/02 DOTA
[00:35]TI7不朽珍藏III——寒冰飞龙不朽展示
2017/07/15 DOTA
python中Switch/Case实现的示例代码
2017/11/09 Python
Python实现读取txt文件并转换为excel的方法示例
2018/05/17 Python
python进行两个表格对比的方法
2018/06/27 Python
解决Python3中的中文字符编码的问题
2018/07/18 Python
Python中注释(多行注释和单行注释)的用法实例
2019/08/28 Python
pandas分组聚合详解
2020/04/10 Python
TensorFLow 数学运算的示例代码
2020/04/21 Python
python和js交互调用的方法
2020/06/23 Python
python-jwt用户认证食用教学的实现方法
2021/01/19 Python
CSS3 @font-face属性使用指南
2014/12/12 HTML / CSS
开发人员所需要知道的HTML5性能分析面面观
2012/07/05 HTML / CSS
个人简历自我评价怎么写
2015/03/10 职场文书
为什么mysql字段要使用NOT NULL
2021/05/13 MySQL
PostGIS的安装与入门使用指南
2022/01/18 PostgreSQL
mysql 排序失效
2022/05/20 MySQL