【python小项目】函数封装 #员工管理

🏆函数封装可以使我们的代码更加简洁已读,而且方面维护和测试。

接下来我们通过一个员工管理系统的案例代码试一试吧!

完整代码如下

print('-' * 20, '欢迎使用员工管理系统', '-' * 20)

emps = ['孙悟空\t18\t男\t花果山', '猪八戒\t28\t男\t高老庄']

while True:
    
    print('请选择要做的操作:')
    print('\t1.查询员工')
    print('\t2.添加员工')
    print('\t3.删除员工')
    print('\t4.退出系统')
    user_choose = input('请选择[1-4]:')
    print('-' * 62)
   
    if user_choose == '1':
       
        print('\t序号\t姓名\t年龄\t性别\t住址')
       
        n = 1
      
        for emp in emps:
            print(f'\t{n}\t{emp}')
            n += 1
    elif user_choose == '2':
     
        emp_name = input('请输入员工的姓名:')
        emp_age = input('请输入员工的年龄:')
        emp_gender = input('请输入员工的性别:')
        emp_address = input('请输入员工的住址:')

       
        emp = f'{emp_name}\t{emp_age}\t{emp_gender}\t{emp_address}'
      
        print('以下员工将被添加到系统中')
        print('-' * 62)
        print('姓名\t年龄\t性别\t住址')
        print(emp)
        print('-' * 62)
        user_confirm = input('是否确认该操作[Y/N]:')

    
        if user_confirm == 'Y' or user_confirm == 'y' or user_confirm == 'yes':
        
            emps.append(emp)
          
            print('添加成功!')
        else:
         
            print('添加已取消!')

    elif user_choose == '3':
    
     
        del_num = int(input('请输入要删除的员工的序号:'))

      
        if 0 < del_num <= len(emps):
            
            del_i = del_num - 1
          
            print('以下员工将被删除')
            print('-' * 62)
            print('\t序号\t姓名\t年龄\t性别\t住址')
            print(f'\t{del_num}\t{emps[del_i]}')
            print('-' * 62)
            user_confirm = input('该操作不可恢复,是否确认[Y/N]:')
           
            if user_confirm == 'y' or user_confirm == 'yes':
                emps.pop(del_i)
                
                print('员工已被删除!')
            else:
               
                print('操作已取消!')
        else:
           
            print('您的输入有误,请重新操作!')

    elif user_choose == '4':
       
        print('欢迎使用!再见!')
        input('点击回车键退出!')
        break
    else:
        print('您的输入有误,请重新选择!')

   
    print('-' * 62)

我们可以把这段代码封装成几个功能:

1、欢迎信息

# 显示系统的欢迎信息
def display_welcome_message():
    print('-' * 20, '欢迎使用员工管理系统', '-' * 20)

2、显示用户选项

# 显示用户选项
def display_menu():
    print('请选择要做的操作:')
    print('\t1.查询员工')
    print('\t2.添加员工')
    print('\t3.删除员工')
    print('\t4.退出系统')

3、查询员工信息

# 查询员工信息
def query_employees(l:list):
    # 查询员工
    # 打印表头
    print('\t序号\t姓名\t年龄\t性别\t住址')
    # 创建一个变量,来表示员工的序号
    n = 1
    # 显示员工信息
    for i in l:
        print(f'\t{n}\t{i}')
        n += 1

4、添加员工信息

# 添加员工信息
def add_employee(l:list):
    emp_name = input('请输入员工的姓名:')
    emp_age = input('请输入员工的年龄:')
    emp_gender = input('请输入员工的性别:')
    emp_address = input('请输入员工的住址:')

    emp = f'{emp_name}\t{emp_age}\t{emp_gender}\t{emp_address}'
    print('以下员工将被添加到系统中')
    print('-' * 62)
    print('姓名\t年龄\t性别\t住址')
    print(emp)
    print('-' * 62)
    user_confirm = input('是否确认该操作[Y/N]:')

    if user_confirm.lower() in ['y', 'yes']:
        l.append(emp)
        print('添加成功!')
    else:
        print('添加已取消!')

5、删除员工信息

# 删除员工信息
def delete_employee(l:list):
    try:
        del_num = int(input('请输入要删除的员工的序号:'))
        if 0 < del_num <= len(l):
            del_i = del_num - 1
            print('以下员工将被删除')
            print('-' * 62)
            print('\t序号\t姓名\t年龄\t性别\t住址')
            print(f'\t{del_num}\t{l[del_i]}')
            print('-' * 62)
            user_confirm = input('该操作不可恢复,是否确认[Y/N]:')
            if user_confirm.lower() in ['y', 'yes']:
                l.pop(del_i)
                print('员工已被删除!')
            else:
                print('操作已取消!')
        else:
            print('您的输入有误,请重新操作!')
    except ValueError:
        print('请输入有效的序号!')

6、最后就是主函数部分

def main():
    display_welcome_message()
    emps = ['孙悟空\t18\t男\t花果山', '猪八戒\t28\t男\t高老庄']

    while True:
        display_menu()
        user_choose = input('请选择[1-4]:')
        print('-' * 62)

        if user_choose == '1':
            query_employees(emps)
        elif user_choose == '2':
            add_employee(emps)
        elif user_choose == '3':
            delete_employee(emps)
        elif user_choose == '4':
            print('欢迎使用!再见!')
            input('点击回车键退出!')
            break
        else:
            print('您的输入有误,请重新选择!')

        print('-' * 62)

🏆要点:

查询员工、添加员工和删除员工的函数均使用了参数如:def f(l:list)

这样不仅指定了参数的类型为列表,还可以在测试不同列表时随时使用函数

封装后的代码


赶紧去试一试吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值