基于Python实现简易学生信息管理系统

基于Python实现简易学生信息管理系统

系统简介

本系统是基于Python语言实现的简易学生信息管理系统。它可以方便地增加、删除、修改和查询学生信息,同时支持将信息存储到文件或者从文件中读取信息。系统主要包含以下功能模块:

  • 添加学生信息
  • 删除学生信息
  • 修改学生信息
  • 查询学生信息
  • 展示所有学生信息
  • 保存学生信息到文件
  • 从文件中读取学生信息

系统实现

数据结构设计

系统中的主要数据结构是学生信息,每个学生信息包含以下字段:

  • 学生姓名
  • 学生年龄
  • 学生性别
  • 学生籍贯
  • 学生专业

在实现过程中,我们使用了Python中的字典(dict)作为学生信息的数据类型,其中key值分别为上述字段名,value值为具体的信息。

功能模块实现

在实现上述功能模块之前,我们需要先初始化一个学生信息列表,存放所有的学生信息。

students = []

添加学生信息

在添加学生信息的代码实现过程中,我们需要使用Python中的input函数获取用户输入的学生信息,并将其添加到学生信息列表中。

def add_student(students):
    name = input("请输入学生姓名:")
    age = input("请输入学生年龄:")
    sex = input("请输入学生性别:")
    place = input("请输入学生籍贯:")
    major = input("请输入学生专业:")
    student = {
        'name': name,
        'age': age,
        'sex': sex,
        'place': place,
        'major': major
    }
    students.append(student)
    print("添加成功!")

删除学生信息

在删除学生信息的代码实现过程中,我们需要先查询出要删除的学生信息,并将其从学生信息列表中删除。

def del_student(students):
    name = input("请输入要删除的学生姓名:")
    for student in students:
        if student['name'] == name:
            students.remove(student)
            print("删除成功!")
            return
    print("未找到该学生!")

修改学生信息

在修改学生信息的代码实现过程中,我们需要先查询出要修改的学生信息,并将其修改为新的信息。

def modify_student(students):
    name = input("请输入要修改信息的学生姓名:")
    for student in students:
        if student['name'] == name:
            student['age'] = input("请输入学生新年龄:")
            student['sex'] = input("请输入学生新性别:")
            student['place'] = input("请输入学生新籍贯:")
            student['major'] = input("请输入学生新专业:")
            print("修改成功!")
            return
    print("未找到该学生!")

查询学生信息

在查询学生信息的代码实现过程中,我们需要先输入要查询的学生姓名,并在学生信息列表中查找该学生信息。

def query_student(students):
    name = input("请输入要查询的学生姓名:")
    for student in students:
        if student['name'] == name:
            print("学生姓名:{},学生年龄:{},学生性别:{},学生籍贯:{},学生专业:{}".format(student['name'], student['age'], student['sex'], student['place'], student['major']))
            return
    print("未找到该学生!")

展示所有学生信息

在展示所有学生信息的代码实现过程中,我们需要遍历学生信息列表,并输出每个学生的信息。

def show_all_students(students):
    for student in students:
        print("学生姓名:{},学生年龄:{},学生性别:{},学生籍贯:{},学生专业:{}".format(student['name'], student['age'], student['sex'], student['place'], student['major']))

保存学生信息到文件

在保存学生信息到文件的代码实现过程中,我们需要使用Python中的pickle模块将学生信息列表序列化到文件中。

import pickle

def save_to_file(students):
    with open('students.data', 'wb') as file:
        pickle.dump(students, file)
    print("保存成功!")

从文件中读取学生信息

在从文件中读取学生信息的代码实现过程中,我们需要使用Python中的pickle模块将序列化文件中的学生信息列表反序列化到内存中。

import pickle

def read_from_file():
    try:
        with open('students.data', 'rb') as file:
            students = pickle.load(file)
            print("读取成功!")
            return students
    except FileNotFoundError:
        print("未找到学生信息文件!")

功能模块集成

将以上所有功能模块集成到一个主函数中:

def main():
    students = read_from_file()
    while True:
        print("==============================")
        print("欢迎使用学生信息管理系统!")
        print("1、添加学生信息")
        print("2、删除学生信息")
        print("3、修改学生信息")
        print("4、查询学生信息")
        print("5、展示所有学生信息")
        print("6、保存学生信息到文件")
        print("7、从文件中读取学生信息")
        print("0、退出系统")
        print("==============================")
        choice = input("请输入您的选择:")
        if choice == '1':
            add_student(students)
        elif choice == '2':
            del_student(students)
        elif choice == '3':
            modify_student(students)
        elif choice == '4':
            query_student(students)
        elif choice == '5':
            show_all_students(students)
        elif choice == '6':
            save_to_file(students)
        elif choice == '7':
            students = read_from_file()
        elif choice == '0':
            print("感谢使用!")
            break
        else:
            print("输入错误,请重新输入!")

示例说明

示例1:添加学生信息

用户输入如下信息,添加一个学生信息:

请输入学生姓名:Tom
请输入学生年龄:20
请输入学生性别:男
请输入学生籍贯:北京
请输入学生专业:计算机科学与技术
添加成功!

示例2:查询学生信息

用户输入要查询的学生姓名为Tom,系统返回如下查询结果:

请输入要查询的学生姓名:Tom
学生姓名:Tom,学生年龄:20,学生性别:男,学生籍贯:北京,学生专业:计算机科学与技术

在以上示例中,我们展示了添加学生信息和查询学生信息两个功能模块的使用方法。用户可以根据上述示例,进一步了解系统的所有功能模块。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于Python实现简易学生信息管理系统 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • 提取NumPy复数数组的实部和虚部

    要提取NumPy复数数组的实部和虚部,可以使用real和imag属性。下面是详细的攻略: 1. 创建NumPy复数数组 首先,我们需要创建一个包含复数数值的NumPy数组。可以使用numpy.array函数,也可以使用随机数生成函数等方式创建。 import numpy as np # 创建复数数组 arr = np.array([1+2j, 3+4j, 5…

    python-answer 2023年3月25日
    00
  • python安装后无法打开IDLE Subprocess Connection Error的解决方法

    Python安装后无法打开IDLESubprocessConnectionError的解决方法 在Python安装后,有时会出现无法打开IDLE的情况,这通常由于SubprocessConnectionError错误引起的。本略将提供Python安装后无法打开IDLESubprocessConnectionError的解决方法的完攻略,包括错误的原因、解决方…

    python 2023年5月13日
    00
  • Scipy Superpack 安装后的致命 Python 错误(Mac)

    【问题标题】:Fatal Python error after Scipy Superpack installation (Mac)Scipy Superpack 安装后的致命 Python 错误(Mac) 【发布时间】:2023-04-06 02:02:02 【问题描述】: 我决定自己安装 Scipy,而不是使用 Python 发行版,并偶然发现了 Sci…

    Python开发 2023年4月6日
    00
  • Python中的集合一起来学习一下

    Python中的集合一起来学习一下 什么是集合? 集合是 Python 中的一种无序且元素唯一的数据类型。无序意味着元素存储在集合中的顺序与添加元素的顺序不一定相同。元素唯一意味着集合中的元素不能重复。Python 中的集合类类似于数学中的集合,可以进行交集、并集、差集等基本操作。 如何创建集合? Python 中的集合可以使用花括号 {} 或 set() …

    python 2023年5月14日
    00
  • Python中使用asyncio 封装文件读写

    下面我将详细讲解“Python 中使用 asyncio 封装文件读写”的完整攻略。该攻略主要包括以下步骤: 导入相关模块和库 使用 Asyncio 封装文件读写函数 示例演示 1. 导入相关模块和库 使用 Asyncio 进行文件读写,需要导入以下模块: import asyncio import aiofiles 其中,asyncio 为 Python 内…

    python 2023年6月5日
    00
  • python实现布尔型盲注的示例代码

    布尔型盲注是一种常见的SQL注入攻击方式,可以通过不断地猜测SQL语句中的条件语句,最终获取数据库中的数据。本文将详细讲解如何使用Python实现布尔型盲注,包括如何构造SQL语句、如何发送HTTP请求、如何解析响应等。 构造SQL语句 要实现布尔型盲注,我们需要构造SQL语句。以下是一个示例,演示如何构造SQL语句: import requests url…

    python 2023年5月15日
    00
  • Python 带星号(* 或 **)的函数参数详解

    Python带星号(或*)的函数参数详解 在Python中,我们可以通过在函数定义时使用带星号的参数来接受不定数量的参数,这种参数被称作“星号参数”。其中,单个星号()用于接受不定数量的位置参数,双星号(*)则用于接受不定数量的关键字参数。本文将对这两种星号参数进行详细的讲解。 接受不定数量的位置参数 我们可以在任意一个参数名前面使用单个星号(*)来定义一个…

    python 2023年5月14日
    00
  • Python3列表删除的三种方式实现

    Python3列表删除的三种方式实现 在Python3中,列表是一种常见的数据类型,可以存储多个元素。Python3提供了多种方式来删除列表中的元素,包括使用del语句、remove()函数和pop()函数。本攻略将详细介绍Python3中列表删除的三种方式实现,并提供多个示例说明。 使用del语句删除元素 在Python3中,可以使用del语句删除列表中的…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部