需求 将学生信息存储起来(数据能多次使用)并能进行相关的增删改查
思路 将学生信息存放在字典中,然后在将所有学生信息存放到文件中,通过对文件进行操作来达到对学生信息的增删改查等操作
说明 这个版本只是对上一个版本进行了功能的扩充(能将数据保存到文件中),我会尽快将版本更新到模块层次(类)。
语言 python
代码实现

import os
# 学生信息管理系统
student_list = []  # 定义一个列表来存放全部学生信息# 菜单函数
def show_meun():print("-----学生管理系统v1.0-----")print("1. 添加学生")print("2. 删除学生")print("3. 修改学生信息")print("4. 查询学生信息")print("5. 显示所有学生信息")print("6. 退出")# 输入函数
def add_student():student_dict = {}name = input("请输入姓名:")sex = input("请输入性别:")age = int(input("请输入年龄:"))student_dict['name'] = namestudent_dict['sex'] = sexstudent_dict['age'] = agestudent_list.append(student_dict)# 删除函数
def del_student():student_name = input("请输入你想删除学生的姓名:")for index, student_dict_name in enumerate(student_list):if student_dict_name['name'] == student_name:del student_list[index]else:print('输入有误!')# 修改函数
def modify_student():student_name = input("请输入你想修改学生的姓名:")for student_dict_name in student_list:if student_dict_name['name'] == student_name:name = input("修改后的姓名为:")sex = input("修改后的性别为:")age = int(input("修改后的年龄为:"))student_dict_name['name'] = namestudent_dict_name['sex'] = sexstudent_dict_name['age'] = ageelse:print('输入有误!')# 查询函数
def show_student():student_name = input("请输入你想查询学生的姓名:")for student_dict_name in student_list:if student_dict_name['name'] == student_name:print('你所查询的学生信息为:')print(student_dict_name)else:print("查无此人!")# 显示函数
def show_student_list():for n in range(0, len(student_list)):print(f'第{n+1}位学号为:{n + 1},学生信息为:{student_list[n]}')# 保存数据函数
def save_data():with open('student_list.data', 'w', encoding='utf-8') as f:student_list_str = str(student_list)f.write(student_list_str)# 加载文件函数
def load_data():if os.path.exists('student_list.data'):with open('student_list.data', 'r', encoding='utf-8') as f:file_data = f.read()new_student_list = eval(file_data)  # 将读取的字符串完全提取出来student_list.extend(new_student_list)# 启动函数
def run():load_data()  # 启动程序前先加载以前的数据while True:show_meun()menu_option = input("请输入你想进行操作的序号:")if menu_option == "1":print("添加学生")add_student()elif menu_option == "2":print("删除学生")if len(student_list) == 0:print("还没有学生信息")else:del_student()elif menu_option == "3":print("修改学生信息")if len(student_list) == 0:print("还没有学生信息")else:modify_student()elif menu_option == "4":print("查询学生信息")if len(student_list) == 0:print("还没有学生信息")else:show_student()elif menu_option == "5":print("显示所有学生信息")show_student_list()elif menu_option == "6":print("退出")save_data()  # 在程序退出前保存数据到文件中breakrun()

学生信息管理系统V2.0相关推荐

  1. Python实现学生信息管理系统V3.0(GUI界面)

    关于"学生信息管理系统"的基本思路和详细过程,请看V1.0版本: Python实现学生信息管理系统V1.0_︶ㄣ释然的博客-CSDN博客本文是关于学生信息管理系统的简易版以及具体内 ...

  2. 学生通讯管理系统v2.0

    首先创建一个python文件 import StudentEntity from DataAccess import* student = [] def menu():print("-&qu ...

  3. 赶紧进来看看--用C语言实现学生信息管理系统(1.0静态版)

    本文介绍了用C语言实现学生信息管理系统设计,主要包括对学生信息增删查改.分类统计.排序等功能,文章最后有全部源码展示- C语言实现学生信息管理系统--1.0静态版 一.学生信息管理系统介绍 二.实现学 ...

  4. python学生信息管理系统1.0

    目录 具体需求:实现一个学生信息管理系统 一.数据结构的设计: 二.菜单界面及按钮的设置: 三.各个模块的具体实现 1.定义一个字典,用于存放学生信息 2.查询学生信息模块: 3.添加学生信息模块: ...

  5. 赶紧进来看看---C语言实现学生信息管理系统(3.0文件存储版)

    本文主要介绍了将学生信息管理系统改造为文件存储版本- 主要涉及文件操作函数–将学生信息导入文件和从文件读取学生信息到程序中,从而达到数据持久化的效果 文章最后有源码展示 学生信息管理系统1.0静态版- ...

  6. C# 学生信息管理系统 2.0

    资源下载请点击 经历几天的探索,对原有的系统做了重大的修改. 修改如下: 1.登录界面进行了修改,增加了管理员选项. 2.学生界面增加了课表查询,成绩查询和选课系统,学生信息功能,界面做了优化,可以显 ...

  7. 学生信息管理系统V1.0

    需求: 将学生信息存储起来并能进行相关的增删改查 思路: 将学生信息存放在字典中,然后在将所有学生信息存放到列表中,通过对列表进行操作来达到对学生信息的增删改查等操作 说明: 此版本只是一个简单的列表 ...

  8. 【数据结构实习】学生信息管理系统2.0

    Student.h 1 #include<iostream> 2 #include<string> 3 #include<fstream> 4 using name ...

  9. python学生管理系统-Python 学生信息管理系统 2.0

    本次改进的方面有: 1.通过函数把不同的功能封装成为了一个个模块,使主程序看起来清晰简明. 2.把信息都通过文件操作写入了json文件中,在退出系统后重新登录时数据都还存在. 整个工程分为了四个.py ...

最新文章

  1. 国内拉取google Kubernetes镜像
  2. PHP安装zip拓展,以及libzip安装问题
  3. AR# 58294 Zynq-7000 SoC: PS SPI 控制器文档升级
  4. Windows Security——获取Windows已经保存的WiFi网络密码
  5. Web前端技术知识:为什么要进行网站重构呢?
  6. mybatis基础(一)
  7. Java设计模式之策略设计模式
  8. java log4j logback jcl_Java 日志二三事
  9. python泰坦尼克号数据预测_机器学习入门之Python机器学习:泰坦尼克号获救预测一...
  10. 伸缩菜单----html文件
  11. 性能计数器驱动_Linux CPU性能优化方法
  12. java中判断字符串是否为纯数字
  13. java quartz 教程_Quartz 教程
  14. 线性代数导论20——克莱姆法则、逆矩阵、体积
  15. 安居客头部导航栏的编写
  16. 企业为什么需要EDI?
  17. 小工具推荐:tokei(高效统计代码行数)
  18. 1328C Ternary XOR
  19. 对炒股的一点个人浅见
  20. 使用hibernate映射oracle两个表空间的表,Hibernate每个具体类一张表映射(使用XML)

热门文章

  1. Kubernetes----Pod配置污点和容忍
  2. Crazy Number---3755
  3. 做Android开发摸鱼是要付出代价的,被主管劝退,我后悔了!
  4. 计算广告-商业化体系
  5. 无需修改bios即可让任意主板实现NVME启动
  6. 如何快速将一张彩色图片变成黑白图片
  7. 50个启发你灵感的黄色系网站设计
  8. [zz]美团点评智能支付核心交易系统的可用性实践
  9. 怎么把PDF文件拆分开来?教你两种拆分方法
  10. spring之aop(前置通知,后置通知,环绕通知,过滤通知,异常通知)