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

 更新时间:2020年04月09日 08:34:14   作者:灬two灬  
这篇文章主要为大家详细介绍了python简单的学生信息管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

功能如下

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

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

功能如下

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

主函数部分

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

增加学生信息

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

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("按任意键返回菜单")

修改学生信息

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

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实现计算两个指定日期相差几年几月几日

    这篇文章主要为大家详细介绍了如何使用Python实现计算两个日期之间相差多少年,多少月,多少天,文中的的示例代码讲解详细,需要的可以参考下
    2024-02-02
  • Python实现的在特定目录下导入模块功能分析

    Python实现的在特定目录下导入模块功能分析

    这篇文章主要介绍了Python实现的在特定目录下导入模块功能,结合实例形式分析了Python基于系统函数及import语句实现模块导入的相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • 利用Anaconda完美解决Python 2与python 3的共存问题

    利用Anaconda完美解决Python 2与python 3的共存问题

    Anaconda 是 Python 的一个发行版,如果把 Python 比作 Linux,那么 Anancoda 就是 CentOS 或者 Ubuntu,下面这篇文章主要给大家介绍了利用Anaconda完美解决Python 2与python 3共存问题的相关资料,文中介绍的非常详细,需要的朋友可以参考借鉴。
    2017-05-05
  • Python 3.6打包成EXE可执行程序的实现

    Python 3.6打包成EXE可执行程序的实现

    这篇文章主要介绍了Python 3.6打包成EXE可执行程序的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-10-10
  • Python获取二维矩阵每列最大值的方法

    Python获取二维矩阵每列最大值的方法

    下面小编就为大家分享一篇Python获取二维矩阵每列最大值的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04
  • Python 转换数据类型函数和转换数据类型的作用

    Python 转换数据类型函数和转换数据类型的作用

    这篇文章主要介绍了Python 转换数据类型函数和转换数据类型的作用,围绕Python 转换数据类型的相关资料展开内容,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-03-03
  • pycharm软件实现设置自动保存操作

    pycharm软件实现设置自动保存操作

    这篇文章主要介绍了pycharm软件实现设置自动保存操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • TensorFlow如何指定GPU训练模型

    TensorFlow如何指定GPU训练模型

    这篇文章主要介绍了TensorFlow如何指定GPU训练模型,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • Python3.4实现远程控制电脑开关机

    Python3.4实现远程控制电脑开关机

    这篇文章主要为大家详细介绍了Python3.4实现远程控制电脑开关机的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • Python实现批量文件自定义命名

    Python实现批量文件自定义命名

    有时候我们经常需要对某一个文件夹中的文件进行重命名修改,但是我们一个一个取修改将会非常繁琐,下面我们就来利用Python实现批量文件自定义命名吧
    2024-11-11

最新评论