Python基础教程--小程序阶段练习(简易员工管理系统+简易点餐系统)

一、编写一个【简易员工管理系统】

        要求:阅读完【1.1:不使用函数编写】中的代码后,使用函数写出功能一致的代码。

        1.1:不使用函数编写

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

# 创建一个列表,用来保存员工的信息,员工的信息以字符串的形式统一保存到列表
employees = ['孙悟空\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(f'\t序号\t姓名\t年龄\t性别\t住址')
        # 创建一个变量,来表示员工的序号
        n = 1
        # 显示员工信息
        for emp in employees:
            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':
            # 确认
            employees.append(emp)
            # 显示提示信息
            print('添加成功!')
        else:
            # 取消操作
            print('添加已取消!')

    elif user_choose == '3':
        # 删除员工,根据员工的序号来删除员工
        # 获取要删除的员工序号
        del_num = int(input('请输入要删除的员工的序号:'))
        # 判断序号是否有效
        if 0 < del_num <= len(employees):
            # 输入合法,根据序号来获取索引
            del_i = del_num - 1
            # 显示一个提示信息
            print('以下员工将被删除')
            print('-' * 62)
            print('\t序号\t姓名\t年龄\t性别\t住址')
            print(f'\t{del_num}\t{employees[del_i]}')
            print('-' * 62)
            user_confirm = input('该操作不可恢复,是否确认[Y/N]:')
            # 判断
            if user_confirm == 'Y' or user_confirm == 'y' or user_confirm == 'yes':
                # 删除元素
                employees.pop(del_i)
                # 显示提示
                print('员工已被删除!')
            else:
                # 操作取消
                print('操作已取消!')
        else:
            # 输入有误
            print('您的输入有误,请重新操作!')
    elif user_choose == '4':
        # 退出
        print('欢迎您的使用,再见!')
        input('点击 [回车键] 退出!')
        break
    else:
        print('您的输入有误,请重新选择!')

    # 打印分割线
    print('-' * 62)


        1.2:练习作业

                使用函数编写代码如下:

#  员工管理系统程序


def welcome():
    # 欢迎界面
    print('-' * 20, '欢迎使用员工管理系统', '-' * 20)
    # 创建一个死循环
    while True:
        # 显示用户的选择
        print('请选择要做的操作:')
        print('\t1.查询员工')
        print('\t2.添加员工')
        print('\t3.删除员工')
        print('\t4.退出系统')
        user_choose = input('请选择[1~4]: ')
        print('-' * 62)

        if user_choose == '1':
            inquire_emp(user_choose)
        elif user_choose == '2':
            append_emp()
        elif user_choose == '3':
            delete_emp()
        elif user_choose == '4':
            quit_sys()
            break


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


def append_emp():
    # 添加员工
    # 获取要添加员工的信息:姓名,年龄,性别,住址
    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':
        # 确认
        employees.append(emp)
        # 显示提示信息
        print('添加成功!')
    else:
        # 取消操作
        print('添加已取消!')


def delete_emp():
    # 删除员工,根据员工的序号来删除员工
    # 获取要删除的员工序号
    del_num = int(input('请输入要删除的员工的序号:'))
    # 判断序号是否有效
    if 0 < del_num <= len(employees):
        # 输入合法,根据序号来获取索引
        del_i = del_num - 1
        # 显示一个提示信息
        print('以下员工将被删除')
        print('-' * 62)
        print('\t序号\t姓名\t年龄\t性别\t住址')
        print(f'\t{del_num}\t{employees[del_i]}')
        print('-' * 62)
        user_confirm = input('该操作不可恢复,是否确认[Y/N]:')
        # 判断
        if user_confirm == 'Y' or user_confirm == 'y' or user_confirm == 'yes':
            # 删除元素
            employees.pop(del_i)
            # 显示提示
            print('员工已被删除!')
        else:
            # 操作取消
            print('操作已取消!')
    else:
        # 输入有误
        print('您的输入有误,请重新操作!')


def quit_sys():
    # 退出系统
    print('欢迎您的使用,再见!')
    input('点击 [回车键] 退出!')



# 测试程序:
# 创建一个列表,用来保存员工的信息,员工的信息以字符串的形式统一保存到列表
employees = ['孙悟空\t18\t男\t花果山', '猪八戒\t28\t男\t高老庄']
welcome()

二、编写一个【简易点餐系统】

        要求:阅读完【2.1:不使用函数编写】中的代码后,使用函数写出功能一致的代码。

        2.1:不使用函数编写

# 简易点餐系统

menu = [('宫爆鸡丁',15), ('红烧肉',30), ('水煮鱼',58), ('水果沙拉',20), ('大拌菜',15)]
select = []
message = []


while True:
    print("欢迎光临华清餐厅,请选择:\n1、查看菜品\n2、点餐\n3、自助结帐\n4、请留言\n5、退出点餐系统")
    n = input("请选择:")
    if n == "1":
        for i in menu:
            print("菜品:%s,价格:%.2f元" % (i[0], i[1]))

    elif n == "2":
        for i, j in enumerate(menu):
            print("%d %s:%s" % (i, j[0], j[1]))
        while True:
            s = int(input("请输入菜品的序号,输入 -1 则退出菜品选择:"))
            if s == -1:
                break
            else:
                select.append(menu[s])

        if s != -1:
            print('您选择的菜品是:')
            for i in select:
                print(i[0])
            print('请稍等,正在准备菜品。。。')

    elif n == "3":
        t = 0
        print('您选择的菜品是:')
        for i in select:  # 打印所选菜品
            print(i)
            t += i[1]
        print('消费了:', t)
        while True:
            pay = int(input('请付款:'))  # 支付金额
            if pay >= t:  # 支付金额大于菜钱
                print('找零:', pay - t)
                break
            else:
                print('金额不够!')

    elif n == "4":
        m = input('请您留下富贵的意见:')
        message.append(m)
        y = input('按 1 则可以查看所有评论:')
        if y == '1':
            for i in message:
                print(i)

    elif n == "5":
        print('谢谢您的使用,再见!')
        input('点击 [回车键] 退出!')
        break

    elif n == "-1":
        break

        2.2:练习作业

                使用函数编写代码如下:

# 简易点餐系统程序

def welcome():
    # 欢迎 & 点餐操作选择界面
    while True:
        print("欢迎光临华清餐厅:\n\t1、查看菜品\n\t2、点餐\n\t3、自助结帐\n\t4、请留言\n\t5、退出点餐系统")
        user_choose = input("请选择 1~5 的一个序号:")
        if user_choose == '1':
            view_menu(user_choose)

        elif user_choose == '2':
            order_dishes(user_choose)

        elif user_choose == '3':
            settle_accounts(user_choose)

        elif user_choose == '4':
            user_message(user_choose)

        elif user_choose == '5':
            quit_system(user_choose)
            break


def view_menu(s:str):
    # 菜单展示界面
    if s == "1":
        for i in menu:
            print("\t菜品:%s,\t价格:%.2f元" % (i[0], i[1]))
        print()


def order_dishes(s:str):
    # 点餐操作
    if s == "2":
        for i, j in enumerate(menu):
            print("%d %s:\t%s" % (i, j[0], j[1]))
        while True:
            dishes_num = int(input("请输入菜品的序号,结束添加菜品请输入 -1 返回,并进行自助结账:"))
            if dishes_num == -1:
                break
            elif (dishes_num != -1) and (0 < dishes_num <= len(menu)):
                select.append(menu[dishes_num])
                print('您选择的菜品是:')
                for i in select:
                    print(i[0])
            else:
                print("输入错误!")



def settle_accounts(s:str):
    # 自助结账
    if s == "3":
        if len(select) != 0:
            t = 0
            print('您选择的菜品是:')
            for i in select:  # 打印所选菜品
                print(i)
                t += i[1]
            print('总计消费了:', t)

            while True:
                pay = int(input('请付款:'))  # 支付金额
                if pay >= t:  # 支付金额大于菜钱
                    print('找零:', pay - t)
                    print('您的菜品正在准备中,请稍等~')
                    break
                else:
                    print('金额不够!')
        else:
            print("您还未点餐,请先点餐!")


def user_message(s:str):
    # 留言操作
    if s == "4":
        msg = input('请您留下富贵的意见:')
        message.append(msg)
        y = input('按 1 则可以查看所有评论:')
        if y == '1':
            for i in message:
                print(i)


def quit_system(s:str):
    # 退出点餐系统
    if s == "5":
        print('谢谢您的使用,再见!')
        input('点击 [回车键] 退出!')



# 测试程序:
menu = [('宫爆鸡丁',15), ('红烧肉',30), ('水煮鱼',58), ('水果沙拉',20), ('大拌菜',15)]
select = []
message = []

welcome()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值