教你用Python实现简易版学生信息管理系统(含源码)

教你用Python实现简易版学生信息管理系统(含源码)

概述

本文将介绍如何使用 Python 编写一个简单的学生信息管理系统。本系统支持添加、查询、删除和修改学生信息,并且所有数据都存储在本地文本文件中。本文将详细介绍系统的实现流程,并提供完整的源码。

实现步骤

1. 创建项目

首先,在本地环境中创建一个新的 Python 项目文件夹,并在文件夹中创建一个名为 students.txt 的空文本文件。该文件将用于存储所有学生的信息。

2. 实现学生类

创建一个名为 Student 的 Python 类,该类具有以下属性:idnamegenderagescore。通过实现该类,我们可以方便地对学生信息进行管理。

示例代码:

class Student:
    def __init__(self, id, name, gender, age, score):
        self.id = id
        self.name = name
        self.gender = gender
        self.age = age
        self.score = score

3. 实现数据存储工具类

创建一个名为 DataTool 的 Python 类,该类具有以下方法:

  • read_data():从本地文本文件中读取所有学生的信息,并将其存储在列表中。
  • write_data(data_list):将传递的学生信息列表写入本地文本文件。

示例代码:

class DataTool:
    def __init__(self, file_path):
        self.file_path = file_path

    def read_data(self):
        with open(self.file_path, 'r') as f:
            content = f.readlines()

        student_list = []
        for item in content:
            item = item.strip().split(',')
            student_list.append(Student(item[0], item[1], item[2], item[3], item[4]))
        return student_list

    def write_data(self, data_list):
        with open(self.file_path, 'w') as f:
            for item in data_list:
                write_str = '{0},{1},{2},{3},{4}\n'.format(item.id, item.name, item.gender, item.age, item.score)
                f.write(write_str)

4. 实现学生信息管理类

创建一个名为 StudentManager 的 Python 类,该类具有以下方法:

  • show_all_student():打印出所有学生的信息。
  • add_student():向学生列表中添加一个新学生。
  • delete_student():从学生列表中删除指定学生。
  • update_student():更新指定学生的信息。

示例代码:

class StudentManager:
    def __init__(self, file_path):
        self.data_tool = DataTool(file_path)
        self.student_list = self.data_tool.read_data()

    def show_all_student(self):
        if not self.student_list:
            print('No student information available.\n')
            return
        print('id  name  gender  age  score')
        for item in self.student_list:
            print('{0}  {1}  {2}  {3}  {4}'.format(item.id, item.name, item.gender, item.age, item.score))
        print()

    def add_student(self):
        id = input('Please enter the student id: ')
        name = input('Please enter the name of the student: ')
        gender = input('Please enter the gender of the student: ')
        age = input('Please enter the age of the student: ')
        score = input('Please enter the score of the student: ')

        new_student = Student(id, name, gender, age, score)
        self.student_list.append(new_student)
        self.data_tool.write_data(self.student_list)
        print('Add student successfully!\n')

    def delete_student(self):
        delete_id = input('Please enter the student id you want to delete: ')
        for i in range(len(self.student_list)):
            if self.student_list[i].id == delete_id:
                del self.student_list[i]
                self.data_tool.write_data(self.student_list)
                print('Delete student successfully!\n')
                return
        else:
            print('Sorry, student id not found.\n')

    def update_student(self):
        update_id = input('Please enter the student id you want to update: ')
        for item in self.student_list:
            if item.id == update_id:
                item.name = input('Please enter the new name of the student: ')
                item.gender = input('Please enter the new gender of the student: ')
                item.age = input('Please enter the new age of the student: ')
                item.score = input('Please enter the new score of the student: ')
                self.data_tool.write_data(self.student_list)
                print('Update student information successfully!\n')
                return
        else:
            print('Sorry, student id not found.\n')

5. 实现入口函数

创建一个名为 main() 的 Python 函数,用于运行该程序。通过调用 StudentManager 类中的方法,可以方便地实现对学生信息的管理。

示例代码:

def main():
    file_path = './students.txt'
    student_manager = StudentManager(file_path)

    while True:
        print('=== Student Information Management System ===')
        print('1. Show all student information.')
        print('2. Add new student.')
        print('3. Delete student.')
        print('4. Update student information.')
        print('0. Quit system.')
        choice = input('Please make a choice: ')

        if choice == '1':
            student_manager.show_all_student()

        elif choice == '2':
            student_manager.add_student()

        elif choice == '3':
            student_manager.delete_student()

        elif choice == '4':
            student_manager.update_student()

        elif choice == '0':
            print('Thank you for using Student Information Management System, goodbye!')
            break

        else:
            print('Invalid input, please try again.\n')

程序演示

请参考下方两个示例:

示例 1:添加学生信息

=== Student Information Management System ===
1. Show all student information.
2. Add new student.
3. Delete student.
4. Update student information.
0. Quit system.
Please make a choice: 2

Please enter the student id: 001
Please enter the name of the student: John
Please enter the gender of the student: Male
Please enter the age of the student: 18
Please enter the score of the student: 90

Add student successfully!

示例 2:显示所有学生信息

=== Student Information Management System ===
1. Show all student information.
2. Add new student.
3. Delete student.
4. Update student information.
0. Quit system.
Please make a choice: 1

id  name  gender  age  score
001  John  Male  18  90

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:教你用Python实现简易版学生信息管理系统(含源码) - Python技术站

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

相关文章

  • python读取和保存为excel、csv、txt文件及对DataFrame文件的基本操作指南

    让我们开展Python读取和保存为Excel、CSV、TXT文件及对DataFrame文件的基本操作指南。本攻略将涵盖Python中处理文件的基础知识、如何使用pandas库读取和保存各种格式的文件, 以及如何对pandas DataFrame文件进行基本操作。 一、Python基本文件处理和打开文件 Python使用open()函数打开文件,该函数接受两个…

    python 2023年5月13日
    00
  • Python交换变量

    Python交换变量 – 完整攻略 Python中交换变量非常简单,并且可以通过很多种方式实现。以下是其中一些方法: 1. 使用第三个变量进行交换 这是最传统的方法:使用一个额外的临时变量来存储第一个变量的值,然后将第一个变量的值存储到第二个变量中,最后将临时变量的值存储到第一个变量中。 示例代码: a = 10 b = 20 temp = a a = b …

    python 2023年6月6日
    00
  • Python实现图形用户界面和游戏开发的方法和技巧

    Python实现图形用户界面和游戏开发的方法和技巧 Python是一种流行的编程语言,可用于开发各种应用程序,包括图形用户界面(GUI)和游戏。下面是Python实现GUI和游戏开发的方法和技巧的完整攻略。 1. Python实现GUI的方法和技巧 1.1 使用Tkinter Tkinter是Python自带的GUI库,可以使用它创建GUI应用程序。以下是创…

    python 2023年5月19日
    00
  • Python中的自定义函数学习笔记

    下面是关于“Python中的自定义函数学习笔记”的完整攻略。 基本概念 在Python中,函数是可复用的代码块。它们允许我们将一段代码作为单独的、独立的实体来组织和使用。Python可以使用内置函数,但我们也可以通过自定义函数来实现更加灵活的功能。 函数以def关键字开始,后面跟着函数名和一组括号,可以有参数和返回值。函数定义必须以冒号“:”结尾,并缩进代码…

    python 2023年6月5日
    00
  • python一键升级所有pip package的方法

    当我们的Python应用依赖于多个第三方库时,需要不断地手动升级这些库,这是一件非常繁琐的事情。本文将介绍如何使用一行命令对Python的所有第三方库进行一键升级。使用该方法,可以快速地将Python所依赖的所有库升级到最新版本。详细攻略如下: 打开终端,进入Python环境 在Mac或Linux环境下,我们可以通过终端进入Python环境。打开终端,输入以…

    python 2023年5月14日
    00
  • 详解Python如何使用并发模型编程

    详解Python如何使用并发模型编程 什么是并发模型编程 并发模型编程是指在同一时间,有多个任务在同一进程下执行的一种编程模式。相比于传统的单线程编程模式,使用并发模型编程可以更高效地利用计算机的多核处理能力,提升程序的响应能力和并发请求的处理能力。 Python中提供了多种并发模型编程的实现方式,如多线程、多进程和异步I/O等。 多线程并发编程 多线程并发…

    python 2023年6月3日
    00
  • Python基础之值传递和引用传递详解

    Python基础之值传递和引用传递详解 一、概述 在Python中,函数传参的方式有两种:值传递和引用传递。对于初学者而言,这一概念非常重要。 二、值传递(传递不可变类型) 值传递是指在函数调用时,将实际参数的值复制一份放到函数栈内存中,以供函数使用。因此在函数内部对这个参数进行修改,不会对原来的变量造成影响。 例如: def change(a): a = …

    python 2023年5月13日
    00
  • vim for epd python on windows

    【问题标题】:vim for epd python on windowsvim for epd python on windows 【发布时间】:2023-04-03 20:35:01 【问题描述】: 我已经在我的 Windows 上安装了epd python distribution。现在有人可以帮我设置vim吗?此外,对 vim 的基本快速调整(语法、颜…

    Python开发 2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部