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

yizhihongxing

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

概述

本文旨在讲解如何使用Python实现简单的学生信息管理系统。通过本文的学习,你将会了解如何使用Python实现一个基本的CRUD(Create、Read、Update、Delete)操作,并通过文件存储信息,实现信息的持久化。

实现步骤

1. 确定需求

我们的学生信息管理系统需要实现以下功能:

  1. 添加学生信息
  2. 查询学生信息
  3. 修改学生信息
  4. 删除学生信息

2. 创建文件

我们需要创建以下几个文件:

  • student.py:定义学生信息类
  • menu.py:实现菜单功能
  • main.py:程序入口

3. 编写student.py

首先我们需要定义学生信息的类,包含以下信息:

  • 姓名
  • 学号
  • 年龄
  • 性别
class Student:
    def __init__(self, name, id, age, sex):
        self.name = name
        self.id = id
        self.age = age
        self.sex = sex

4. 编写menu.py

我们需要使用菜单,方便用户操作。菜单需要实现以下功能:

  • 显示菜单选项
  • 接收用户选项
  • 根据用户选项执行对应的操作
def print_menu():
    print("=" * 20)
    print("学生信息管理系统")
    print("1. 添加学生信息")
    print("2. 查询学生信息")
    print("3. 修改学生信息")
    print("4. 删除学生信息")
    print("0. 退出系统")
    print("=" * 20)

def get_choice():
    return input("请输入您需要进行的操作:")

def add_student(students):
    name = input("请输入学生姓名:")
    id = input("请输入学生学号:")
    age = input("请输入学生年龄:")
    sex = input("请输入学生性别:")
    student = Student(name, id, age, sex)
    students.append(student)
    print("添加成功!")

def query_student(students):
    name = input("请输入学生姓名:")
    for student in students:
        if student.name == name:
            print(f"学生姓名:{student.name}")
            print(f"学生学号:{student.id}")
            print(f"学生年龄:{student.age}")
            print(f"学生性别:{student.sex}")
            return
    print("该学生不存在!")

def update_student(students):
    name = input("请输入学生姓名:")
    for student in students:
        if student.name == name:
            student.id = input("请输入学生学号:")
            student.age = input("请输入学生年龄:")
            student.sex = input("请输入学生性别:")
            print("修改成功!")
            return
    print("该学生不存在!")

def delete_student(students):
    name = input("请输入学生姓名:")
    for index, student in enumerate(students):
        if student.name == name:
            students.pop(index)
            print("删除成功!")
            return
    print("该学生不存在!")

5. 编写main.py

最后,我们需要实现程序的入口,即main.py文件。在该文件中,我们需要实现以下操作:

  • 加载已有学生信息
  • 进入循环,显示菜单选项,根据用户选项执行对应的操作
from student import *
from menu import *
import os

def load_students():
    students = []
    if not os.path.exists("students.txt"):
        return students
    with open("students.txt", "r", encoding="utf-8") as file:
        for line in file:
            item = line.strip().split(",")
            student = Student(item[0], item[1], item[2], item[3])
            students.append(student)
    return students

def save_students(students):
    with open("students.txt", "w", encoding="utf-8") as file:
        for student in students:
            file.write(f"{student.name},{student.id},{student.age},{student.sex}\n")

def main():
    students = load_students()
    choice = ""
    while choice != "0":
        print_menu()
        choice = get_choice()
        if choice == "1":
            add_student(students)
            save_students(students)
        elif choice == "2":
            query_student(students)
        elif choice == "3":
            update_student(students)
            save_students(students)
        elif choice == "4":
            delete_student(students)
            save_students(students)
        elif choice == "0":
            print("谢谢使用!")
        else:
            print("输入非法,请重新输入!")

if __name__ == "__main__":
    main()

示例说明

添加学生信息

学生信息管理系统
1. 添加学生信息
2. 查询学生信息
3. 修改学生信息
4. 删除学生信息
0. 退出系统
====================
请输入您需要进行的操作:1
请输入学生姓名:张三
请输入学生学号:001
请输入学生年龄:20
请输入学生性别:男
添加成功!
请输入您需要进行的操作:0
谢谢使用!

查询学生信息

学生信息管理系统
1. 添加学生信息
2. 查询学生信息
3. 修改学生信息
4. 删除学生信息
0. 退出系统
====================
请输入您需要进行的操作:2
请输入学生姓名:张三
学生姓名:张三
学生学号:001
学生年龄:20
学生性别:男
请输入您需要进行的操作:0
谢谢使用!

以上是本文的Python实现简单学生信息管理系统的攻略,希望对你有所帮助。

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

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

相关文章

  • Python使用pip安装Matplotlib的方法详解

    Python使用pip安装Matplotlib的方法详解 什么是Matplotlib Matplotlib是一个数据可视化的Python库,可以绘制多种图表,例如散点图、折线图、柱状图、饼状图等。Matplotlib可应用于各种平台,包括Windows、Mac OS X和Linux,同时还可以与许多GUI工具包搭配使用,如Tkinter、wxPython和P…

    python 2023年5月14日
    00
  • Python脚本文件外部传递参数的处理方法

    下面我将为您详细讲解Python脚本文件外部传递参数的处理方法的完整攻略。 什么是Python脚本文件外部传递参数? Python脚本文件外部传递参数,即在运行Python脚本时,通过命令行参数的形式传递变量值给脚本文件进行处理。 如何在Python脚本文件中处理外部传递的参数? Python提供了一个名为sys的标准库,其中包含了一些与Python解释器和…

    python 2023年6月3日
    00
  • 详解Python的Twisted框架中reactor事件管理器的用法

    详解Python的Twisted框架中reactor事件管理器的用法 一、Twisted Reactor事件管理器简介 Twisted是一个开源Python网络编程框架,它使用事件驱动的方式实现异步I/O,允许程序员通过异步编程模型来处理多个并发操作,它提供了多条并发流程,常用协议的实现以及支持标准进程通信。 Twisted框架中,reactor是一个事件管…

    python 2023年6月3日
    00
  • Python3如何解决字符编码问题详解

    好的!下面我就来详细讲解“Python3如何解决字符编码问题”的完整攻略。 1. 什么是字符编码问题 在计算机中,我们使用二进制数来表示数据。对于文本数据,我们需要将字符转换成二进制数,才能在计算机中存储和传输,这个过程称为编码。而当我们需要将二进制数转换成字符时,我们称之为解码。因此,字符编码问题就是如何正确地进行字符编码和解码的问题。 在不同的地区,使用…

    python 2023年5月31日
    00
  • Python 从subprocess运行的子进程中实时获取输出的例子

    问题澄清:该攻略需要讲解如何在Python中使用subprocess运行子进程,并实时获取子进程输出。其中,攻略需要包含至少两个示例说明。 回答:使用Python中的subprocess模块可以轻松地在程序中启动并控制一个子进程的执行。在子进程的执行过程中,我们可以通过一些方法来获取其输出,包括stdout和stderr输出流的获取、控制台指令的输入等。 下…

    python 2023年6月3日
    00
  • python3连接mysql获取ansible动态inventory脚本

    这里提供一份完整的攻略,帮助大家快速掌握使用Python3连接MySQL数据库获取Ansible动态Inventory脚本的方法。 准备环境 在开始使用Python3连接MySQL数据库获取Ansible动态Inventory脚本之前,你需要先准备好以下环境: Python3环境,安装方法见官方文档 MySQL数据库,安装方法见官方文档 MySQL Pyth…

    python 2023年6月2日
    00
  • python中列表的含义及用法

    Python中的列表(List)是一种非常常用且灵活的数据类型,用于存储一组有序数据。在本篇攻略中,我们将介绍Python中列表的含义及用法,以及常用的操作方法和技巧。 什么是列表? Python中的列表是一种有序的序列,用一对方括号“[]”来表示,可以存储不同类型的数据,例如整型、浮点型、字符串等。列表中的每个元素都有一个对应的索引,可以通过索引来访问列表…

    python 2023年5月13日
    00
  • 基于Python实现PDF区域文本提取工具

    下面是基于Python实现PDF区域文本提取工具的完整攻略,包括软件安装、库引入、代码实现以及两个示例说明。 1. 软件安装 首先,需要在电脑上安装Python。官方网站下载地址为:https://www.python.org/downloads/。根据自己的系统下载对应的版本进行安装。 在安装Python后,还需要安装一些第三方库,其中涉及到的库有:PyM…

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