【Python百练——第4练】简易的管理菜单系统

💐作者:insist--

💐个人主页:insist-- 的个人主页

理想主义的花,最终会盛开在浪漫主义的土壤里,我们的热情永远不会熄灭,在现实平凡中,我们终将上岸,阳光万里

❤️欢迎点赞👍收藏📁评论📒

目录

一、题目和要求

1. 题目

2. 要求

二、实现程序的思路

三、代码如下


前言

今天的练习题中,你将作为一名餐厅经理,负责管理餐厅的菜单。你需要使用Python实现添加新菜品、更新食材或价格、删除菜品以及打印菜单等功能。

8b83c21ef5834dd88880a72303983496.jpg

一、题目和要求

1. 题目

假设你是一名餐厅经理,你需要管理餐厅的菜单,包括菜品名称、价格和食材。具体来说,你需要实现以下功能:

  • 添加新菜品到菜单
  • 更新已有菜品的食材或价格
  • 从菜单中删除菜品
  • 打印菜单

2. 要求

使用面向对象的编程方法来管理菜单。每个菜品对象应该包括菜品名称、价格和食材。程序应该提供类方法来执行上述四个功能,并能够保存菜单到一个文件中。

二、实现程序的思路

定义一个名为"Dish"的类,表示一个菜品对象,包括菜品名称、价格和食材创建一个名为"Menu"的类,表示整个菜单,包括添加菜品、更新菜品、删除菜品和打印菜单等功能。在"Menu"类中,使用一个列表来存储所有菜品对象。在"Menu"类中,创建以下方法:

  • add_dish(dish): 添加一个菜品对象到菜单列表中。
  • update_dish(dish, new_ingredients, new_price): 更新一个菜品对象的食材和价格。
  • remove_dish(dish_name): 从菜单列表中删除一个菜品对象。
  • print_menu(): 打印整个菜单列表。

在主程序中,创建一个"Menu"对象,并使用上述方法来管理菜单最后,将菜单列表保存到一个文件中,以便以后使用。

三、代码如下

# 定义一个名为Dish的类,代表一道菜品
class Dish:
    # 初始化方法,为菜品对象设置名称、价格和食材属性
    def __init__(self, name, price, ingredients):
        self.name = name  # 菜品的名称
        self.price = price  # 菜品的价格
        self.ingredients = ingredients  # 菜品的食材

# 定义一个名为Menu的类,代表一份菜单
class Menu:
    # 初始化方法,设置菜单为空列表
    def __init__(self):
        self.menu = []  # 菜单是一个空列表

    # 添加菜品到菜单的方法
    def add_dish(self, dish):
        self.menu.append(dish)  # 将菜品对象添加到菜单列表中

    # 更新菜单中菜品的方法
    def update_dish(self, dish, new_ingredients, new_price):
        for item in self.menu:  # 遍历菜单列表中的每一个菜品对象
            if item.name == dish:  # 如果找到与指定名称匹配的菜品对象
                item.ingredients = new_ingredients  # 更新食材
                item.price = new_price  # 更新价格
                break  # 找到第一个匹配的菜品对象后跳出循环

    # 从菜单中移除菜品的方法
    def remove_dish(self, dish_name):
        self.menu = [item for item in self.menu if item.name != dish_name]  # 从菜单列表中移除与指定名称匹配的菜品对象

    # 打印菜单的方法
    def print_menu(self):
        for item in self.menu:  # 遍历菜单列表中的每一个菜品对象
            print(f"{item.name}: {item.ingredients}, {item.price}")  # 打印菜品的名称、食材和价格

# 主函数,程序入口
def main():
    menu = Menu()  # 创建一个新的菜单对象
    dish1 = Dish("Burger", 10, "Meat, Bread")  # 创建一个新的菜品对象Burger,并设置价格和食材
    dish2 = Dish("Salad", 5, "Vegetables")  # 创建一个新的菜品对象Salad,并设置价格和食材
    menu.add_dish(dish1)  # 将Burger添加到菜单中
    menu.add_dish(dish2)  # 将Salad添加到菜单中
    menu.print_menu()  # 打印添加菜品后的菜单  # Print the menu after adding dishes.
    menu.update_dish(dish1, "Meat, Bread, Cheese", 15)  # 更新Burger的食材和价格
    menu.remove_dish("Salad")  # 从菜单中移除Salad
    menu.print_menu()  # 打印更新和移除菜品后的菜单
    menu.menu = []  # 清空菜单列表
    menu.print_menu()  # 打印清空后的菜单列表
    menu.save("menu.txt")  # 将菜单列表保存到名为"menu.txt"的文件中
    print("Menu saved to file.")  # 打印提示信息,表示菜单已保存到文件中
  • 16
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Insist--

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值