基于Python开发的学生管理系统项目源码

项目介绍

基于python开发的学生管理系统,使用的是面向对象和IO流的技术,代码内容较为简单,没有使用到数据库,采用本地文件的方式存储数据和读取文件数据,如需使用数据库,请自行更改,其实很简单的

功能如下

添加学生信息
修改学生信息
查询学生信息
删除学生信息
查看全部学生信息
退出系统(将学生的信息保存到文件里面)

代码开发流程

1.首先在pycharm新建一个python项目,创建两个python包,分别是model和service,顾名思义,model存放对象类,service主要是存放对象的业务代码,main.py作为项目运行类使用

图片[1]-基于Python开发的学生管理系统项目源码-QQ沐编程

2.新建student.py,代码如下

class Student(object):
    def __init__(self, stu_id, name, age, gender) -> None:
        self.stu_id = stu_id
        self.name = name
        self.age = age
        self.gender = gender

    def __str__(self) -> str:
        return f'{self.stu_id},{self.name},{self.age},{self.gender}'

3.新建student_manager_system.py,代码如下

import model.student as stu
class StudentManagerSystem(object):
    def __init__(self):
        self.stu_dicts = {}

    @staticmethod
    def show_menu():
        print('1. 添加学生')
        print('2. 删除学生')
        print('3. 修改学生信息')
        print('4. 查询单个学生信息')
        print('5. 查询所有学生信息')
        print('6. 退出系统')

    def insert_student(self):
        #  1.使用input获取学生的信息
        stu_id = input("请输入学号:")
        name = input('请输入学生名字:')
        # 代码优化,判断学生是否存在  学号是否存在  判断字典的key是否存在
        if name in self.stu_dicts:  # key存在返回True
            print("学生信息已经存在,不需要再次添加")
            return
        age = input('请输入学生年龄:')
        gender = input('请输入学生性别:')

        # 2.使用学生信息,创建学生对象,学生类(参数)
        st = stu.Student(stu_id, name, age, gender)
        # 3.将学生对象添加到字典中 字典['key'] = 数据值
        self.stu_dicts[stu_id] = st

    def remove_student(self):
        # 1.使用input输入学号
        stu_id = input("请输入要删除学生的学号")
        # 2.判断学生信息是否存在
        if stu_id in self.stu_dicts.keys():
            # 3.存在执行操作,删除字典里的数据,del 变量[key]
            del self.stu_dicts[stu_id]
            print("学生已经删除")
        else:
            print("该学生信息不存在,不需要删除")

    def modify_student(self):
        # 1.使用input输入学号
        stu_id = input("请输入要修改的学生学号")
        # 2.判断学生信息是否存在
        if stu_id in self.stu_dicts.keys():
            # 3.存在执行操作,删除字典里的数据,del 变量[key]
            name = input('请输入学生名字:')
            # 代码优化,判断学生是否存在  学号是否存在  判断字典的key是否存在
            age = input('请输入学生年龄:')
            gender = input('请输入学生性别:')
            self.stu_dicts[stu_id] = stu.Student(stu_id, name, age, gender)
            print("学生信息已经修改完成")
        else:
            print("该学生信息不存在,无法修改")

    def show_one_info(self):
        # 1.使用input输入学号
        stu_id = input("请输入要修改的学生学号")
        # 2.判断学生信息是否存在
        if stu_id in self.stu_dicts.keys():
            # 存在则输出
            print(self.stu_dicts[stu_id])
        else:
            print("该学生信息不存在,无法查看")

    def show_all_info(self):
        for s in self.stu_dicts.values():
            print(s)

    def save(self):
        f = open('student.txt', 'w', encoding='utf-8')
        for st in self.stu_dicts.values():
            f.write(str(st) + '\n')

        f.close()

    def start(self):
        while True:
            self.show_menu()
            opt = input('请输入用来选择的操作编号:')
            if opt == '1':
                self.insert_student()
            elif opt == '2':
                self.remove_student()
            elif opt == '3':
                self.modify_student()
            elif opt == '4':
                self.show_one_info()
            elif opt == '5':
                self.show_all_info()
            elif opt == '6':
                self.save()
                print('6. 退出系统')
                break
            else:
                print('输入有误,请再次输入')
                continue

            input('=======回车请继续操作========')


 

4.在main.py引入业务student_mananger_system.py,执行启动方法,详细代码如下

import service.student_manager_system as sms

if __name__ == '__main__':
    sm = sms.StudentManagerSystem()
    sm.start()

 

这样我们运行该main.py即可启动项目,效果如下

图片[2]-基于Python开发的学生管理系统项目源码-QQ沐编程

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享