Python员工信息管理系统(python系列19)

前言:都已经到了python系列第十九期了,也该整合整合前面的知识点来做一个小系统了,当然这个系统完全是用python的终端来显示,也没有数据库的加入,但是牵涉到了我们前面大部分知识点,当然后续我们会持续更新到一个真正能用的系统。

要求:使用MVC架构来完成代码

        将显示与输出的部分放入EmployeeView类中

        将对数据的封装放入EmployeeModel类中

        将业务逻辑放入EmployeeController类中

系统功能:

显示菜单、选择菜单、录入员工信息(部门编号,员工编号、员工姓名、工资),显示所有员工信息,删除员工信息(通过名字删除,如果有同名删除第一个),修改员工信息(名字不能修改,只能修改工资,部门编号,员工编号)

功能展示:

添加与查看

 修改

删除

当然当删除或修改的名字不存在时,也应该返回删除失败

 删除成功

 实现代码:

# 员工信息管理系统

class EmployeeModel:
    def __init__(self, name="", index="", department="", wages=0.0):
        self.name = name
        self.index = index
        self.wages = wages
        self.department = department


class EmployeeView:
    def __init__(self):
        self.employeeController = EmployeeController()

    @staticmethod
    def display_menu():
        print("按1添加员工")
        print("按2查看员工")
        print("按3删除员工")
        print("按4修改员工")

    def select_menu(self):
        number = input("请操作:")
        if number == "1":
            self.input_employee()
        if number == "2":
            self.show_all_employee()
        if number == "3":
            self.delete_employee()
        if number == "4":
            self.update_employee()

    def input_employee(self):
        employee = EmployeeModel(
            name=input("请输入员工名字:"),
            index=input("请输入员工编号:"),
            department=input("请输入部门编号:"),
            wages=float(input("请输入员工工资:"))
        )
        print("添加成功") if self.employeeController.add_employee(employee) else print("添加失败")

    def show_all_employee(self):
        for item in self.employeeController.list_employee:
            print("| %s | %s | %s | %s |" % (item.name, item.index, item.department, item.wages))

    def delete_employee(self):
        employee_name = input("请输入删除员工名:")
        print("删除成功") if self.employeeController.delete_employee(employee_name) else print("删除失败")

    def update_employee(self):
        employee = EmployeeModel(
            name=input("请输入修改员工名字:"),
            index=input("请输入修改员工编号:"),
            department=input("请输入修改部门编号:"),
            wages=float(input("请输入修改员工工资:"))
        )
        print("修改成功") if self.employeeController.update_employee(employee) else print("修改失败")


class EmployeeController:
    def __init__(self):
        self.list_employee = []

    def add_employee(self, employee:EmployeeModel):
        self.list_employee.append(employee)
        return True

    def delete_employee(self, employee_name):
        for i in range(len(self.list_employee)):
            if self.list_employee[i].name == employee_name:
                del self.list_employee[i]
                return True
        return False

    def update_employee(self, employee:EmployeeModel):
        for item in self.list_employee:
            if employee.name == item.name:
                item.__dict__ = employee.__dict__
                return True
        return False


if __name__ == '__main__':
    view = EmployeeView()
    while True:
        view.display_menu()
        view.select_menu()

  • 15
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学生信息管理系统是一个用于管理学生信息的软件系统。在Python中,可以通过文件来存储和管理学生信息。下面是一个简单的示例,演示了如何使用Python来创建和管理学生信息的文件。 首先,我们需要创建一个名为"students.txt"的文件来保存学生信息。可以使用Python的文件操作函数来创建和写入文件。以下是一个示例代码: ```python # 打开文件,如果文件不存在则创建 file = open("students.txt", "w") # 写入学生信息 file.write("学生1, 男, 18\n") file.write("学生2, 女, 19\n") file.write("学生3, 男, 20\n") # 关闭文件 file.close() ``` 上述代码将创建一个名为"students.txt"的文件,并将学生信息写入文件中。每行表示一个学生的信息,包括姓名、性别和年龄。 接下来,我们可以编写一个Python程序来读取和处理学生信息文件。以下是一个示例代码: ```python # 打开文件,读取学生信息 file = open("students.txt", "r") # 逐行读取学生信息并打印 for line in file: student_info = line.strip().split(", ") name = student_info[0] gender = student_info[1] age = student_info[2] print("姓名:", name) print("性别:", gender) print("年龄:", age) print() # 关闭文件 file.close() ``` 上述代码将逐行读取"students.txt"文件中的学生信息,并将每个学生的姓名、性别和年龄打印出来。 这是一个简单的示例,演示了如何使用Python来创建和管理学生信息的文件。实际的学生信息管理系统可能会更复杂,包括更多的功能和数据处理。但是,通过文件操作和数据处理技术,可以实现一个完整的学生信息管理系统
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值