【Python百练——第4练】简易的管理菜单系统
2023-12-14 00:05:36
💐作者:insist--
💐个人主页:insist-- 的个人主页
理想主义的花,最终会盛开在浪漫主义的土壤里,我们的热情永远不会熄灭,在现实平凡中,我们终将上岸,阳光万里
??欢迎点赞👍收藏📁评论📒
目录
前言
今天的练习题中,你将作为一名餐厅经理,负责管理餐厅的菜单。你需要使用Python实现添加新菜品、更新食材或价格、删除菜品以及打印菜单等功能。
一、题目和要求
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.") # 打印提示信息,表示菜单已保存到文件中
文章来源:https://blog.csdn.net/m0_73995538/article/details/134905459
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!