前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >一个与粽子相关的python题目

一个与粽子相关的python题目

作者头像
GeekLiHua
发布2025-01-21 17:33:34
发布2025-01-21 17:33:34
4000
代码可运行
举报
文章被收录于专栏:JavaJava
运行总次数:0
代码可运行

一个与粽子相关的python题目

粽子制作器(ZongziMaker)

ZongziMaker 是一个粽子制作器类,它可以制作、煮和描述粽子。

属性

  • zongzi_list:存储所有制作的粽子的列表。

方法

make_zongzi(flavor, ingredients, wrapping_leaf, cooking_time)

制作一个新的粽子并加入到粽子列表中。

  • 参数:
    • flavor:str,粽子口味。
    • ingredients:list,粽子的配料列表。
    • wrapping_leaf:str,用于包裹粽子的叶子。
    • cooking_time:float,粽子需要的烹饪时间。
cook_all_zongzi()

煮所有的粽子,将它们标记为已煮熟状态。

describe_all_zongzi()

描述所有的粽子,打印粽子的口味、配料、包裹叶子和煮熟状态等信息。

find_by_ingredient(ingredient)

根据配料查找粽子,返回含有指定配料的粽子列表。

  • 参数:
    • ingredient:str,要查找的粽子配料。
find_by_wrapping_leaf(wrapping_leaf)

根据包裹叶子查找粽子,返回使用指定包裹叶子的粽子列表。

  • 参数:
    • wrapping_leaf:str,要查找的包裹叶子。

粽子(Zongzi)

Zongzi 类表示一个粽子对象,并具有口味、配料、包裹叶子、烹饪时间和是否煮熟等属性。

属性

  • flavor:str,粽子口味。
  • ingredients:list,粽子的配料列表。
  • wrapping_leaf:str,用于包裹粽子的叶子。
  • cooking_time:float,粽子需要的烹饪时间。
  • cooked:bool,表示粽子是否已煮熟。

方法

cook()

标记粽子为已煮熟状态,设置 cooked 属性为 True

describe()

描述粽子的口味、配料、包裹叶子和煮熟状态等信息。

完整代码

代码语言:javascript
代码运行次数:0
复制
class Zongzi:
    def __init__(self, flavor, ingredients, wrapping_leaf, cooking_time):
        self.flavor = flavor
        self.ingredients = ingredients
        self.wrapping_leaf = wrapping_leaf
        self.cooking_time = cooking_time
        self.cooked = False
 
    def cook(self):
        self.cooked = True
    
    def describe(self):
        print("这是一个{}口味的粽子。它的配料有: {}。".format(self.flavor, ", ".join(self.ingredients)))
        print("包裹叶子: {}".format(self.wrapping_leaf))
        if self.cooked:
            print("粽子已经煮熟了!")
        else:
            print("粽子还没有煮熟。")

 
class ZongziMaker:
    def __init__(self):
        self.zongzi_list = []
 
    def make_zongzi(self, flavor, ingredients, wrapping_leaf, cooking_time):
        zongzi = Zongzi(flavor, ingredients, wrapping_leaf, cooking_time)
        self.zongzi_list.append(zongzi)
 
    def cook_all_zongzi(self):
        for zongzi in self.zongzi_list:
            zongzi.cook()
 
    def describe_all_zongzi(self):
        for index, zongzi in enumerate(self.zongzi_list, start=1):
            print("第{}个粽子:".format(index))
            zongzi.describe()

    def find_by_ingredient(self, ingredient):
        found_zongzi = []
        for zongzi in self.zongzi_list:
            if ingredient in zongzi.ingredients:
                found_zongzi.append(zongzi)
        return found_zongzi

    def find_by_wrapping_leaf(self, wrapping_leaf):
        found_zongzi = []
        for zongzi in self.zongzi_list:
            if wrapping_leaf == zongzi.wrapping_leaf:
                found_zongzi.append(zongzi)
        return found_zongzi


def main():
    maker = ZongziMaker()
 
    # 制作四个粽子
    maker.make_zongzi("咸肉粽", ["糯米", "咸肉", "藕片"], "竹叶", 2.5)
    maker.make_zongzi("甜粽子", ["糯米", "红枣", "豆沙"], "荷叶", 1.5)
    maker.make_zongzi("绿豆粽", ["糯米", "绿豆", "莲蓉"], "玉米叶", 3.0)
    maker.make_zongzi("蛋黄肉粽", ["糯米", "咸蛋黄", "五花肉"], "竹叶", 2.5)
 
    # 煮所有的粽子
    maker.cook_all_zongzi()
 
    # 描述所有的粽子
    maker.describe_all_zongzi()

    # 按配料查找粽子
    print("\n根据配料查找粽子:")
    found_by_ingredient = maker.find_by_ingredient("咸肉")
    if found_by_ingredient:
        print("找到了以下含有咸肉的粽子:")
        for zongzi in found_by_ingredient:
            zongzi.describe()
    else:
        print("没有找到含有咸肉的粽子。")

    # 按包裹叶子查找粽子
    print("\n根据包裹叶子查找粽子:")
    found_by_wrapping_leaf = maker.find_by_wrapping_leaf("竹叶")
    if found_by_wrapping_leaf:
        print("找到了以下使用竹叶包裹的粽子:")
        for zongzi in found_by_wrapping_leaf:
            zongzi.describe()
    else:
        print("没有找到使用竹叶包裹的粽子。")

 
if __name__ == "__main__":
    main()

运行结果:

代码语言:javascript
代码运行次数:0
复制
第1个粽子:
这是一个咸肉粽口味的粽子。它的配料有: 糯米, 咸肉, 藕片。
包裹叶子: 竹叶
粽子已经煮熟了!
第2个粽子:
这是一个甜粽子口味的粽子。它的配料有: 糯米, 红枣, 豆沙。
包裹叶子: 荷叶
粽子已经煮熟了!
第3个粽子:
这是一个绿豆粽口味的粽子。它的配料有: 糯米, 绿豆, 莲蓉。
包裹叶子: 玉米叶
粽子已经煮熟了!
第4个粽子:
这是一个蛋黄肉粽口味的粽子。它的配料有: 糯米, 咸蛋黄, 五花肉。
包裹叶子: 竹叶
粽子已经煮熟了!

根据配料查找粽子:
找到了以下含有咸肉的粽子:
这是一个咸肉粽口味的粽子。它的配料有: 糯米, 咸肉, 藕片。
包裹叶子: 竹叶
粽子已经煮熟了!
这是一个蛋黄肉粽口味的粽子。它的配料有: 糯米, 咸蛋黄, 五花肉。
包裹叶子: 竹叶
粽子已经煮熟了!

根据包裹叶子查找粽子:
找到了以下使用竹叶包裹的粽子:
这是一个咸肉粽口味的粽子。它的配料有: 糯米, 咸肉, 藕片。
包裹叶子: 竹叶
粽子已经煮熟了!
这是一个蛋黄肉粽口味的粽子。它的配料有: 糯米, 咸蛋黄, 五花肉。
包裹叶子: 竹叶
粽子已经煮熟了!
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-06-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一个与粽子相关的python题目
  • 粽子制作器(ZongziMaker)
    • 属性
    • 方法
      • make_zongzi(flavor, ingredients, wrapping_leaf, cooking_time)
      • cook_all_zongzi()
      • describe_all_zongzi()
      • find_by_ingredient(ingredient)
      • find_by_wrapping_leaf(wrapping_leaf)
  • 粽子(Zongzi)
    • 属性
    • 方法
      • cook()
      • describe()
    • 完整代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档