学生信息管理系统V2.0
需求 将学生信息存储起来(数据能多次使用)并能进行相关的增删改查
思路 将学生信息存放在字典中,然后在将所有学生信息存放到文件中,通过对文件进行操作来达到对学生信息的增删改查等操作
说明 这个版本只是对上一个版本进行了功能的扩充(能将数据保存到文件中),我会尽快将版本更新到模块层次(类)。
语言 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相关推荐
- Python实现学生信息管理系统V3.0(GUI界面)
关于"学生信息管理系统"的基本思路和详细过程,请看V1.0版本: Python实现学生信息管理系统V1.0_︶ㄣ释然的博客-CSDN博客本文是关于学生信息管理系统的简易版以及具体内 ...
- 学生通讯管理系统v2.0
首先创建一个python文件 import StudentEntity from DataAccess import* student = [] def menu():print("-&qu ...
- 赶紧进来看看--用C语言实现学生信息管理系统(1.0静态版)
本文介绍了用C语言实现学生信息管理系统设计,主要包括对学生信息增删查改.分类统计.排序等功能,文章最后有全部源码展示- C语言实现学生信息管理系统--1.0静态版 一.学生信息管理系统介绍 二.实现学 ...
- python学生信息管理系统1.0
目录 具体需求:实现一个学生信息管理系统 一.数据结构的设计: 二.菜单界面及按钮的设置: 三.各个模块的具体实现 1.定义一个字典,用于存放学生信息 2.查询学生信息模块: 3.添加学生信息模块: ...
- 赶紧进来看看---C语言实现学生信息管理系统(3.0文件存储版)
本文主要介绍了将学生信息管理系统改造为文件存储版本- 主要涉及文件操作函数–将学生信息导入文件和从文件读取学生信息到程序中,从而达到数据持久化的效果 文章最后有源码展示 学生信息管理系统1.0静态版- ...
- C# 学生信息管理系统 2.0
资源下载请点击 经历几天的探索,对原有的系统做了重大的修改. 修改如下: 1.登录界面进行了修改,增加了管理员选项. 2.学生界面增加了课表查询,成绩查询和选课系统,学生信息功能,界面做了优化,可以显 ...
- 学生信息管理系统V1.0
需求: 将学生信息存储起来并能进行相关的增删改查 思路: 将学生信息存放在字典中,然后在将所有学生信息存放到列表中,通过对列表进行操作来达到对学生信息的增删改查等操作 说明: 此版本只是一个简单的列表 ...
- 【数据结构实习】学生信息管理系统2.0
Student.h 1 #include<iostream> 2 #include<string> 3 #include<fstream> 4 using name ...
- python学生管理系统-Python 学生信息管理系统 2.0
本次改进的方面有: 1.通过函数把不同的功能封装成为了一个个模块,使主程序看起来清晰简明. 2.把信息都通过文件操作写入了json文件中,在退出系统后重新登录时数据都还存在. 整个工程分为了四个.py ...
最新文章
- 国内拉取google Kubernetes镜像
- PHP安装zip拓展,以及libzip安装问题
- AR# 58294 Zynq-7000 SoC: PS SPI 控制器文档升级
- Windows Security——获取Windows已经保存的WiFi网络密码
- Web前端技术知识:为什么要进行网站重构呢?
- mybatis基础(一)
- Java设计模式之策略设计模式
- java log4j logback jcl_Java 日志二三事
- python泰坦尼克号数据预测_机器学习入门之Python机器学习:泰坦尼克号获救预测一...
- 伸缩菜单----html文件
- 性能计数器驱动_Linux CPU性能优化方法
- java中判断字符串是否为纯数字
- java quartz 教程_Quartz 教程
- 线性代数导论20——克莱姆法则、逆矩阵、体积
- 安居客头部导航栏的编写
- 企业为什么需要EDI?
- 小工具推荐:tokei(高效统计代码行数)
- 1328C Ternary XOR
- 对炒股的一点个人浅见
- 使用hibernate映射oracle两个表空间的表,Hibernate每个具体类一张表映射(使用XML)