python员工管理系统

news/2024/7/19 10:22:24 标签: python, 列表,

利用面向对象的思想设计一个员工管理系统。

创建员工:属性有:员工号,员工姓名,员工工资;

     创建用户:属性有:用户名,密码;

     1:初始化5个员工对象。(可以使用列表、元组、字典存储) 持久化存储数据

初始化3个用户对象。(可以使用列表、元组、字典存储)

     2:功能菜单:

        一级菜单:登录(需要验证身份); (验证用户名和密码)

        二级菜单:登录成功进入二级菜单,

(1)、查询所有员工信息

(2)、根据工号查询员工信息

(3)、添加员工

(4)、修改员工工资

(5)、删除员工

(6)、退出

 要求:菜单可循环,除非选择6退出

python">staff_list = []
user_list = []


class Staff:
    def __init__(self, staff_id, staff_name, staff_salary):
        """
        初始化
        :param staff_id: 员工号
        :param staff_name: 员工姓名
        :param staff_salary: 员工工资
        """
        self.staff_id = staff_id
        self.staff_name = staff_name
        self.staff_salary = staff_salary
        # staff_list.append(self)

    def get_sta_id(self):
        return self.staff_id

    def get_sta_name(self):
        return self.staff_name

    def get_sta_salary(self):
        return self.staff_salary


class User:
    def __init__(self, user_name, user_password):
        """
        用户初始化
        :param user_name: 用户名
        :param user_password: 密码
        """
        self.user_name = user_name
        self.user_password = user_password

    def get_username(self):
        return self.user_name

    def get_userpassword(self):
        return self.user_password


s1 = Staff("01", "林黛玉", "2000")
s2 = Staff("02", "贾宝玉", "3000")
s3 = Staff("03", "薛宝钗", "2000")
s4 = Staff("04", "史湘云", "4000")
s5 = Staff("05", "贾迎春", "3000")

staff_list = [s1, s2, s3, s4, s5]
s1 = staff_list[0]

print(s1.staff_salary)

u1 = User("admin", "123456")
u2 = User("adm", "123456")
u3 = User("ad", "123456")
# user = User()

user_list = [u1, u2, u3]


def login():
    user_name = input("请输入用户名:")
    user_password = input("请输入密码:")
    for i in user_list:
        if user_name == i.get_username() and user_password == i.get_userpassword():
            print("登录成功!")
            break
        else:
            print("用户名或密码错误!")


def query_all():
    """
    查询所有员工信息
    :return:
    """
    print("-" * 50)
    print("查询所有员工信息")
    if len(staff_list) == 0:
        print("不好意思,没有任何员工信息!")
        return

    print("全部员工信息如下:")
    for i in ["员工号", "员工姓名", "员工工资"]:
        print(i, end="\t\t")
    print("")
    # for i in staff_list:
    #     print(i)
    for i in range(0, len(staff_list)):
        print("%s\t\t%s\t\t%s\t\t" %
              (staff_list[i].get_sta_id(),
               staff_list[i].get_sta_name(),
               staff_list[i].get_sta_salary()))

    print("全部信息显示完毕!")
    print("-" * 50)
    pass


def query_id():
    """
    根据工号查询员工信息
    :return:
    """
    print("-" * 50)
    print("根据工号查询员工信息")
    staff_id = input("请输入要查询的员工的工号:")
    for i in range(0, len(staff_list)):
        if staff_list[i].get_sta_id() == staff_id:
            print("查询工号为%s的信息为:" % staff_id)
            print("员工号\t\t员工姓名\t\t员工工资\t\t")
            print("%s\t\t%s\t\t%s\t\t" %
                  (staff_list[i].get_sta_id(),
                   staff_list[i].get_sta_name(),
                   staff_list[i].get_sta_salary()))
            break
        else:
            print("不好意思,没有找到员工号为%s的员工信息" % staff_id)
            break
    print("-" * 50)


def add_staff():
    """
    添加员工
    :return:
    """
    print("-" * 50)
    print("添加新的员工信息")
    staff_id = input("员工号:")
    staff_name = input("员工姓名:")
    staff_salary = input("员工工资:")
    s = Staff(staff_id, staff_name, staff_salary)
    staff_list.append(s)
    print("员工号为%s的员工信息添加成功!" % staff_id)
    print("-" * 50)


def update_staff():
    """
    修改员工工资
    :return:
    """
    print("-" * 50)
    print("修改员工工资")
    staff_id = input("请输入想要修改工资的员工号:")
    for i in range(0, len(staff_list)):
        if staff_list[i].get_sta_id() == staff_id:
            print("工号为%s的员工的工资为:" % staff_id)
            print("%s" % staff_list[i].get_sta_salary())
            new_salary = input("请输入该员工新的工资:")
            s = Staff(staff_id, staff_list[i].get_sta_name(), new_salary)
            staff_list.append(s)
            staff_list.remove(staff_list[i])
            print("修改该员工的工资成功!")
            break
        else:
            print("不好意思,没有员工号为%s的员工" % staff_id)
            break
    print("-" * 50)


def del_staff():
    """
    删除员工
    :return:
    """
    print("-" * 50)
    print("删除员工信息")
    staff_id = input("请输入想要删除的员工的工号:")
    for i in range(0, len(staff_list)):
        if staff_list[i].get_sta_id() == staff_id:
            r = i
            break
    staff_list.remove(staff_list[r])
    print("删除员工信息成功!")
    print("-" * 50)


def menu2():
    print("*" * 50)
    print("【员工管理系统】V1.0")
    print("")
    print("1.查询所有员工信息")
    print("2.根据工号查询员工信息")
    print("3.添加员工")
    print("4.修改员工工资")
    print("5.删除员工")
    print("")
    print("6.退出")
    print("*" * 50)
    print("")


def choose():
    """
    将要选择的操作
    :return:
    """
    while True:
        temp = input("请输入想要执行的操作:")
        print("您选择的操作是%s:" % temp)
        if temp in ["1", "2", "3", "4", "5"]:
            if temp == "1":
                query_all()
            if temp == "2":
                query_id()
            if temp == "3":
                add_staff()
            if temp == "4":
                update_staff()
            if temp == "5":
                del_staff()
        elif temp == "6":
            print("退出程序,谢谢使用!")
            break
        else:
            print("您输入的信息不正确,请重新输入!")


def main():
    login()
    menu2()
    choose()


if __name__ == '__main__':
    main()






 


http://www.niftyadmin.cn/n/781880.html

相关文章

禅道的安装和启动

一、禅道介绍 禅道是一款开源项目管理软件。它集产品管理、项目管理、质量管理、文档管理、组织管理和事务管理于一体,是一款专业的研发项目管理软件,完整覆盖了研发项目管理的核心流程。 禅道将产品、项目、测试这三者的概念明确分开,产品人…

python中的常见异常

python中的常见异常 1、什么是异常 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行 一般情况下,在Python无法正常处理程序时就会发生一个异常。 异常是Python对象,表示一个错误 当Python脚本发生异常时…

python员工管理系统(使用mysql数据库)

利用面向对象的思想设计一个员工管理系统。 创建员工类:属性有:员工号,员工姓名,员工工资; 创建用户类:属性有:用户名,密码; 1:初始化5个员工对象。&#xff…

禅道使用流程

下面介绍禅道的使用流程: 一、新建角色,步骤: 使用管理员登录点击组织菜单选择用户,点击添加用户,或者点击“批量添加”二、创建产品 步骤: 由产品经理登录禅道点击“产品”视图点击添加产品按钮&#…

创建selenium的第一个项目

1、打开selenium 2、给项目起一个名字 3、输入要测试的网站的地址 4、点击start recording后就会跳到第3步输入的网站里,在网站里你可以做你想要的的操作,我这里是网易云,随便点点。 5、点击右上角按钮结束录制 6、这里我们就录制了一个自…

禅道使用总结

围绕禅道介绍公司流程: 1.产品经理--->收集信息 建立产品 产品计划(很有必要存在:1.产品经理可以控制产品过程中的优先级2、对于项目人员可通过了解产品进度,以做后续安排) 新…

mysql数据库的增删改查(简单易懂)

1、创建数据库 -- 如果表user存在,删除该表 drop table if exists user; -- 创建表user create table user(username varchar(30) primary key,pwd varchar(20) )2、添加数据 1)单条单条的添加数据 -- 一条一条的添加数据 insert into user value(adm…

python水仙花数

打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为1531的三次方+5的三次方+3的三次方。 for i in range(100, 1000):# 得出百位数…