Python超级简单的学生管理系统

运行效果:

完整代码:

main:

# 导入managerSystem模块
from managerSystem import *

# 启动学员管理系统
if __name__ == '__main__':
    student_manager = StudentManager()
    student_manager.run()

managersystem:

from student import *


class StudentManager(object):
    def __init__(self):
        # 存储数据所用的列表
        self.student_list = []

    # 程序入口函数
    def run(self):
        # 1. 加载学员信息
        self.load_student()

        while True:
            # 2. 显示功能菜单
            self.show_menu()

            # 3. 用户输入功能序号
            menu_num = int(input('请输入您选择的功能序号:'))

            # 根据用户输入的序号执行不同的功能
            if menu_num == 1:
                # 添加学员
                self.add_student()

            elif menu_num == 2:
                # 删除学员
                self.del_student()

            elif menu_num == 3:
                # 修改学员
                self.modify_student()

            elif menu_num == 4:
                # 查询学员信息
                self.search_student()

            elif menu_num == 5:
                # 显示所有学员信息
                self.show_student()

            elif menu_num == 6:
                # 保存学员信息
                self.save_student()

            elif menu_num == 7:
                # 退出系统
                break

    # 系统功能函数
    @staticmethod
    def show_menu():
        print('-----请选择功能-----')
        print('1.添加学员信息')
        print('2.删除学员信息')
        print('3.修改学员信息')
        print('4.查询学员信息')
        print('5.显示所有学员')
        print('6.保存学员信息')
        print('7.退出管理系统')
        print('-' * 35)

    def add_student(self):
        id = input('请输入你的学号:')
        name = input('请输入你的姓名:')
        gender = input('请输入你的性别:')
        tel = input('请输入你的手机号:')
        student = Student(id, name, gender, tel)
        self.student_list.append(student)
        print('-----添加成功-----')
        print(student)
        print('-' * 35)

    def del_student(self):
        del_id = input('请输入要删除的学员ID:')
        for i in self.student_list:
            if i.id == del_id:
                self.student_list.remove(i)
                print('-----删除成功-----')
                print('-' * 35)
                break
        else:
            print('查无此人')
            print('-' * 35)

    def modify_student(self):
        modify_id = input('请输入要修改的学员ID:')
        for i in self.student_list:
            if i.id == modify_id:
                i.name = input('请输入学员姓名:')
                i.gender = input('请输入学员性别:')
                i.tel = input('请输入学员手机号:')
                print('-----修改信息成功-----')
                print(f'姓名:{i.name}, 性别:{i.gender}, 手机号:{i.tel}')
                print('-' * 35)
                break
            else:
                print('查无此人')
                print('-' * 35)

    def search_student(self):
        search_id = input('请输入要查询该学员的ID:')
        for i in self.student_list:
            if i.id == search_id:
                print('-----修改成功-----')
                print(f'姓名:{i.name}, 性别:{i.gender}, 手机号:{i.tel}')
                print('-' * 35)
                break
        else:
            print('查无此人!')
            print('-' * 35)

    def show_student(self):
        print('-----查询成功-----')
        print('学号\t姓名\t性别\t手机号\t')
        for i in self.student_list:
            print(f'{i.id}\t{i.name}\t{i.gender}\t{i.tel}')
            print('-' * 35)

    def save_student(self):
        f = open('student.data', 'w')
        new_list = [i.__dict__ for i in self.student_list]
        print('-----保存成功-----')
        print('-' * 35)
        f.write(str(new_list))
        f.close()

    def load_student(self):
        try:
            f = open('student.data', 'r')
        except:
            f = open('student.data', 'w')
        else:
            data = f.read()
            new_list = eval(data)
            self.student_list = [Student(i['id'], i['name'], i['gender'], i['tel'])for i in new_list]
        finally:
            f.close()



stydent:

class Student(object):
    def __init__(self, id, name, gender, tel):
        self.id = id            # 学号
        self.name = name        # 姓名
        self.gender = gender    # 性别
        self.tel = tel          # 手机号

    def __str__(self):
        return f'{self.id}, {self.name}, {self.gender}, {self.tel}'


# 测试代码
# aa = Student('aa', 'nv', 111)
# print(aa)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值