Bootstrap

python简易性学生信息管理系统(基于面向对象)

前提:计算机必须先安装好python(最新版本优先,这里用的是python 3.8)

编写工具:pycharm(其他工具也可以,根据自己的习惯来)

目的:编写一个简易的学生信息管理系统,要求能实现 学生信息的添加、删除、特定学生信息查询、所有学生信息展示等基本功能


一、新建一个python项目

项目名:学生信息管理系统

1.1 点击新建

 1.2 输入项目名:学生信息管理系统  ————>执行

1.3 新建成功

 二、新建一个python文件

 2.1文件名:学生信息管理系统

 2.2 在文件中编写代码

三、编写代码

3.1 编写学生类 (class Student)

# 学生类
class Student:
        def __init__(self, name, num, sex, age):
            self.name = name
            self.num = num
            self.sex = sex
            self.age = age

        def __str__(self):
            return '姓名:{} 学号:{} 性别:{} 年龄:{} '.format(self.name, self.num, self.sex, self.age)

3.2 编写班级类(class Class)

# 班级类
class Class:
    def __init__(self, name):
        self.name = name
        self.stu_list = []
        self.stu_dict = {}

    # 添加学生
    def add_stu(self, stu):
        self.stu_list.append(stu)
        self.stu_dict[stu.num] = stu

    # 删除学生
    def del_stu(self, num):
        # 从字典中弹出并删除
        s = self.stu_dict.pop(num)
        # 从列表中删除
        self.stu_list.remove(s)

    # 查找学生
    def get_stu(self, num):
        return self.stu_dict.get(num)

    # 展示学生信息
    def show_stu(self):
        for s in self.stu_list:
            print(s)

3.3 创建班级对象

# 创建班级对象
MyClass = Class('班级')

3.4  创建信息展示类

def xianshi():
    print("*" * 99)
    print("*" * 42, "学生信息管理系统" ,"*" * 42)
    print("*" * 99)
    print("a.添加   m.删除   s.查看  q.查找")

3.5 运行类

while True:
    xianshi()
    key = input("请输入功能:")
    print("*" * 45)
    if key.lower() == 'a':
        print("1.添加学生信息:")
        name = input("姓名:")
        num = input("学号:")
        sex = input("性别:")
        age = input("年龄:")
        stu = Student(name, num, sex, age)
        MyClass.add_stu(stu)
    elif key.lower() == 'm':
        print("2.删除学生信息:")
        num = input("请输入学号(删除):")
        MyClass.del_stu(num)
    elif key.lower() == 's':
        print("3.学生列表:")
        MyClass.show_stu()
    elif key.lower() == 'q':
        print("4.查找学生")
        num = input("请输入学号(查找):")
        s = MyClass.get_stu(num)
        print(s)
    else:
        print("输入错误!")

3.6 完整代码

# 学生类
class Student:
        def __init__(self, name, num, sex, age):
            self.name = name
            self.num = num
            self.sex = sex
            self.age = age

        def __str__(self):
            return '姓名:{} 学号:{} 性别:{} 年龄:{} '.format(self.name, self.num, self.sex, self.age)

# 班级类
class Class:
    def __init__(self, name):
        self.name = name
        self.stu_list = []
        self.stu_dict = {}

    # 添加学生
    def add_stu(self, stu):
        self.stu_list.append(stu)
        self.stu_dict[stu.num] = stu

    # 删除学生
    def del_stu(self, num):
        # 从字典中弹出并删除
        s = self.stu_dict.pop(num)
        # 从列表中删除
        self.stu_list.remove(s)

    # 查找学生
    def get_stu(self, num):
        return self.stu_dict.get(num)

    # 展示学生信息
    def show_stu(self):
        for s in self.stu_list:
            print(s)

# 创建班级对象
MyClass = Class('2班')
def xianshi():
    print("*" * 45)
    print("a.添加   m.删除   s.查看  q.查找")

while True:
    xianshi()
    key = input("请输入功能:")
    print("*" * 45)
    if key.lower() == 'a':
        print("1.添加学生信息:")
        name = input("姓名:")
        num = input("学号:")
        sex = input("性别:")
        age = input("年龄:")
        stu = Student(name, num, sex, age)
        MyClass.add_stu(stu)
    elif key.lower() == 'm':
        print("2.删除学生信息:")
        num = input("请输入学号(删除):")
        MyClass.del_stu(num)
    elif key.lower() == 's':
        print("3.学生列表:")
        MyClass.show_stu()
    elif key.lower() == 'q':
        print("4.查找学生")
        num = input("请输入学号(查找):")
        s = MyClass.get_stu(num)
        print(s)
    else:
        print("输入错误!")

四、运行

效果图:

(只是部分功能截图,完整效果自己可以运行试一下哦)

 备注:该系统只是一个原始的简易的小系统,涉及到的代码并没有进行相关的优化

 祝您学习愉快!!!!!!

;