【Python】员工信息管理系统

共两个Python文件:第一个是Luoji,写运行逻辑;第二个是Yuangong,生成员工编号和显示信息。
1.Luoji.python

'''
【员工信息管理-2】
实现三个功能:
1.录入员工信息
2.查看员工信息
3.按编号和按姓名查找员工
'''
#逻辑程序类
from Yuangong import Employee
class EmpSys:
    def __init__(self):
        self.__emps=[]  #创建存储所有员工信息的列表,私有保护
    #主菜单
    def __mainMenu(self):
        print("【欢迎进入员工管理系统】")
        print("1.新员工录入\n2.查看所有员工信息\n3.查找员工\n4.退出系统")
        m=input("请输入选项代号:")
        return m
    #录入员工信息
    def __addEmp(self):
        name = input("姓名:")
        sex = input("性别:")
        e = Employee(name, sex) # 创建员工对象
        self.__emps.append(e)   #将新员工对象追加到所有员工列表中
    #显示员工信息
    def __showInfo(self,emps):  #emps
        print("=======【员工信息】=======")
        print("员工编号\t\t\t姓名\t性别")
        if type(emps)==list:
            for e in emps:
                e.showSelf()
            print("员工人数:",len(emps))
        elif type(emps)==Employee:
            emps.showSelf()
        print("========================")
    #查找员工信息:1.按员工编号查找 2.按姓名查找
    def __findEmpByNum(self,num):
        for e in self.__emps:   #遍历所有对象
            if e.getNum()==num: #如果对象e的编号=输入查找的编号
                return e        #返回e的信息
        return None
    def __findEmpByName(self,name):
        en=[]   #按姓名查找可能有多个员工,创建一个员工列表
        for e in self.__emps:
            if e.name==name:
                en.append(e)
        return en
    def __findEmps(self):
        print("【查找方式】\n1.按员工编号查找\n2.按姓名查找")
        i=input("请输入选项代号:")
        if i=="1":
            num=input("请输入员工编号:")
            emp=self.__findEmpByNum(num)
            if emp!=None:
                self.__showInfo(emp)
            else:
                print("此员工编号不存在!")
        elif i=="2":
            name=input("请输入员工姓名:")
            emps=self.__findEmpByName(name)
            if len(emps)>0:
                self.__showInfo(emps)
            else:
                print("没有找到此姓名的员工!")
        else:
            print("代号无效,请核对!")
    #逻辑程序
    def sysMain(self):
        while True:
            # 1.提供系统选项
            menu=self.__mainMenu()
            # 2.根绝输入的选项进入不同功能
            # 1)录入员工信息
            if menu=="1":
                self.__addEmp()
            # 2)显示员工信息
            elif menu=="2":
                self.__showInfo(self.__emps)
            # 3)查询(按编号、按姓名)
            elif menu == "3":
                self.__findEmps()
            # 4)退出系统
            elif menu=="4":
                print("您已退出系统!")
                break
            else:
                print("代号无效,请核对后重新输入!")

if __name__=="__main__":
    es=EmpSys()
    es.sysMain()

2.Yuangong.python

'''
【员工信息管理-1】
录入员工姓名、性别、存入对象-自动生成此员工工号
工号:年月日时分秒性别
生成工号代码:datetime.datetime.now().strftime("%Y%m%d%H%M%S")
'''
import datetime
class Employee:
    #员工对象的构造方法
    def __init__(self,name,sex):
        self.name=name
        self.sex=sex
        self.__num=self.__createNum(sex)
    #查看员工信息
    def showSelf(self):
        print(f"{self.__num}\t{self.name}\t{self.sex}")
    #生成员工编号
    def __createNum(self,sex):
        num_str=datetime.datetime.now().strftime("%Y%m%d%H%M%S")
        if sex=="男":
            num_str+="M"
        else:
            num_str+="F"
        return num_str
    #返回员工编号
    def getNum(self):
        return self.__num
  • 3
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值