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 相关文章推荐
分享15个最受欢迎的Python开源框架
Jul 13 Python
在Python中使用HTML模版的教程
Apr 29 Python
Python正则表达式使用范例分享
Dec 04 Python
基于python3 OpenCV3实现静态图片人脸识别
May 25 Python
利用Python如何批量修改数据库执行Sql文件
Jul 29 Python
Django中使用Celery的教程详解
Aug 24 Python
python自制包并用pip免提交到pypi仅安装到本机【推荐】
Jun 03 Python
如何使用python把ppt转换成pdf
Jun 29 Python
python实现统计代码行数的小工具
Sep 19 Python
python线性插值解析
Jul 05 Python
详解如何使用Pytest进行自动化测试
Jan 14 Python
Python 带星号(* 或 **)的函数参数详解
Feb 23 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
解析Extjs与php数据交互(增删查改)
2013/06/25 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
2014/07/08 PHP
php密码生成类实例
2014/09/24 PHP
PHP中防止SQL注入方法详解
2014/12/25 PHP
php调整服务器时间的方法
2015/04/03 PHP
PHP中static关键字以及与self关键字的区别
2015/07/01 PHP
laravel-admin表单提交隐藏一些数据,回调时获取数据的方法
2019/10/08 PHP
Nigma vs Alliance BO5 第五场2.14
2021/03/10 DOTA
用户注册常用javascript代码
2009/08/29 Javascript
jQuery UI Dialog 创建友好的弹出对话框实现代码
2012/04/12 Javascript
『JavaScript』限制Input只能输入数字实现思路及代码
2013/04/22 Javascript
Markdown与Bootstrap相结合实现图片自适应属性
2016/05/04 Javascript
基于jQuery实现简单人工智能聊天室
2017/02/10 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
2018/08/22 Javascript
vue请求数据的三种方式
2020/03/04 Javascript
vue3.0自定义指令(drectives)知识点总结
2020/12/27 Vue.js
[06:24]DOTA2 2015国际邀请赛中国区预选赛第二日TOP10
2015/05/27 DOTA
利用Python3分析sitemap.xml并抓取导出全站链接详解
2017/07/04 Python
python读取和保存视频文件
2018/04/16 Python
python之文件读取一行一行的方法
2018/07/12 Python
python实现简单的文字识别
2018/11/27 Python
Django单元测试工具test client使用详解
2019/08/02 Python
Python协程 yield与协程greenlet简单用法示例
2019/11/22 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
2019/12/31 Python
英国护发和美妆在线商店:Klip Shop
2019/03/24 全球购物
什么是索引指示器
2012/08/20 面试题
土木工程毕业生自荐信
2013/09/21 职场文书
团队经理竞聘书
2014/03/31 职场文书
小学雷锋月活动总结
2014/07/03 职场文书
2014领导班子“四风问题”对照检查材料思想汇报(执法局)
2014/09/21 职场文书
小学班主任经验交流材料
2014/12/16 职场文书
统计员岗位职责范本
2015/04/14 职场文书
浅谈PostgreSQL表分区的三种方式
2021/06/29 PostgreSQL
Python内置数据结构列表与元组示例详解
2021/08/04 Python
POST提交数据常见的四种方式
2022/01/18 HTML / CSS
windows系统安装配置nginx环境
2022/06/28 Servers