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中pandas.DataFrame对行与列求和及添加新行与列示例
Mar 12 Python
Python判断文件和字符串编码类型的实例
Dec 21 Python
在Python中使用defaultdict初始化字典以及应用方法
Oct 31 Python
python实现彩色图转换成灰度图
Jan 15 Python
Python实现的爬取百度文库功能示例
Feb 16 Python
Python容器使用的5个技巧和2个误区总结
Sep 26 Python
flask 实现token机制的示例代码
Nov 07 Python
django3.02模板中的超链接配置实例代码
Feb 04 Python
Python实现结构体代码实例
Feb 10 Python
Pandas读取csv时如何设置列名
Jun 02 Python
python破解同事的压缩包密码
Oct 14 Python
Python修改DBF文件指定列
Dec 19 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下关于中英数字混排的字符串分割问题
2010/04/06 PHP
不重新编译PHP为php增加openssl模块的方法
2011/06/14 PHP
ecshop 批量上传(加入自定义属性)
2012/03/20 PHP
PHP编码规范的深入探讨
2013/06/06 PHP
PHP 字符串长度判断效率更高的方法
2014/03/02 PHP
PHP中批量生成静态html(命令行下运行PHP)
2014/04/19 PHP
laravel利用中间件做防非法登录和权限控制示例
2019/10/21 PHP
TNC vs BOOM BO3 第三场2.13
2021/03/10 DOTA
jquery中eq和get的区别与使用方法
2011/04/14 Javascript
jquery ajax同步异步的执行最终解决方案
2013/04/26 Javascript
JS加jquery简单实现标签元素的显示或隐藏
2013/09/23 Javascript
原生js操作checkbox用document.getElementById实现
2013/10/12 Javascript
jQuery制作简单柱状图实例
2015/01/28 Javascript
jQuery找出网页上最高元素的方法
2015/03/20 Javascript
JQuery移动页面开发之屏幕方向改变与滚屏的实现
2015/12/03 Javascript
微信浏览器禁止页面下拉查看网址实例详解
2017/06/28 Javascript
Vue 中的compile操作方法
2018/02/26 Javascript
浅谈Vue Element中Select下拉框选取值的问题
2018/03/01 Javascript
Angular2进阶之如何避免Dom误区
2018/04/02 Javascript
angular1.x ui-route传参的三种写法小结
2018/08/31 Javascript
JS中比Switch...Case更优雅的多条件判断写法
2019/09/05 Javascript
js 函数性能比较方法
2020/08/24 Javascript
[01:34]2014DOTA2 TI预选赛预选赛 选手比赛房大揭秘!
2014/05/20 DOTA
使用python编写android截屏脚本双击运行即可
2014/07/21 Python
Python音频操作工具PyAudio上手教程详解
2019/06/26 Python
Laravel框架表单验证格式化输出的方法
2019/09/25 Python
Python使用turtle库绘制小猪佩奇(实例代码)
2020/01/16 Python
django从后台返回html代码的实例
2020/03/11 Python
python合并多个excel文件的示例
2020/09/23 Python
流行文化收藏品:Sideshow(DC漫画,星球大战,漫威)
2019/03/17 全球购物
2014年五一促销活动方案
2014/03/09 职场文书
三年级学生评语大全
2014/12/26 职场文书
工作自我推荐信范文
2015/03/25 职场文书
2015年度销售个人工作总结
2015/03/31 职场文书
2016大学生就业指导课心得体会
2016/01/15 职场文书
送给火锅店的创意营销方案!
2019/07/08 职场文书