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发送和接收邮件
Sep 27 Python
Django中的Signal代码详解
Feb 05 Python
pygame游戏之旅 添加游戏界面按键图形
Nov 20 Python
Python中文件的写入读取以及附加文字方法
Jan 23 Python
详解DeBug Python神级工具PySnooper
Jul 03 Python
简单了解python变量的作用域
Jul 30 Python
python 协程中的迭代器,生成器原理及应用实例详解
Oct 28 Python
使用python3批量下载rbsp数据的示例代码
Dec 20 Python
python自动识别文本编码格式代码
Dec 26 Python
Pytorch转keras的有效方法,以FlowNet为例讲解
May 26 Python
python利用google翻译方法实例(翻译字幕文件)
Sep 21 Python
python如何利用Mitmproxy抓包
Oct 10 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
基于CI(CodeIgniter)框架实现购物车功能的方法
2018/04/09 PHP
用Javascript实现UTF8编码转换成gb2312编码
2006/12/22 Javascript
csdn 博客中实现运行代码功能实现
2009/08/29 Javascript
在JavaScript中重写jQuery对象的方法实例教程
2014/08/25 Javascript
BootStrap扔进Django里的方法详解
2016/05/13 Javascript
使用Bootstrap typeahead插件实现搜索框自动补全的方法
2016/07/07 Javascript
Javascript中arguments对象的详解与使用方法
2016/10/04 Javascript
JS实现标签滚动切换效果
2017/12/25 Javascript
VUEJS 2.0 子组件访问/调用父组件的实例
2018/02/10 Javascript
vue注册组件的几种方式总结
2018/03/08 Javascript
微信小程序开发之自定义tabBar的实现
2018/09/06 Javascript
JavaScript 复制对象与Object.assign方法无法实现深复制
2018/11/02 Javascript
vue.draggable实现表格拖拽排序效果
2018/12/01 Javascript
微信小程序实现元素渐入渐出动画效果封装方法
2019/05/18 Javascript
Javascript实现鼠标点击冒泡特效
2019/12/24 Javascript
javascript单张多张图无缝滚动实例代码
2020/05/10 Javascript
在Vue中使用Viser说明(基于AntV-G2可视化引擎)
2020/10/28 Javascript
[58:42]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第一局
2016/02/27 DOTA
python实现哈希表
2014/02/07 Python
Python日志模块logging基本用法分析
2018/08/23 Python
python实现汽车管理系统
2018/11/30 Python
PyTorch加载自己的数据集实例详解
2020/03/18 Python
使用Django实现把两个模型类的数据聚合在一起
2020/03/28 Python
django rest framework serializers序列化实例
2020/05/13 Python
python适合做数据挖掘吗
2020/06/16 Python
Html5插件教程之添加浏览器放大镜效果的商品橱窗
2016/01/07 HTML / CSS
美国领先的个性化礼品商城:Personalization Mall
2019/07/27 全球购物
班组长工作职责
2013/12/25 职场文书
2014年寒假社会实践活动心得体会
2014/04/07 职场文书
创先争优一句话承诺
2014/05/29 职场文书
党员教师群众路线思想汇报范文
2014/10/28 职场文书
2014年班主任德育工作总结
2014/12/05 职场文书
优秀教师个人总结
2015/02/11 职场文书
公司安全管理制度范本
2015/08/05 职场文书
2016年6月份红领巾广播稿
2015/12/21 职场文书
上个世纪50年代的可穿戴技术:无线电帽子
2022/02/18 无线电