项目33:简易食谱生成器 — 《跟着小王学Python·新手》

《跟着小王学Python》 是一套精心设计的Python学习教程,适合各个层次的学习者。本教程从基础语法入手,逐步深入到高级应用,以实例驱动的方式,帮助学习者逐步掌握Python的核心概念。通过开发游戏、构建Web应用、编写网络爬虫、制作桌面软件等多样化项目,学习者可以深入理解并实践Python知识。每周更新1至2篇内容,旨在助力学习者成长为全栈工程师。

作为课程作业或者毕设参考也是不错的选择

文章目录

  • 项目33:简易食谱生成器 --- 《跟着小王学Python·新手》
  • 目标
  • 功能
  • 设计
  • 数据结构设计
  • 程序流程设计
  • 用户界面设计
  • 实现步骤
  • 代码实现
  • 测试
  • 注意事项
  • 小结


项目33:简易食谱生成器 --- 《跟着小王学Python·新手》_开发语言

目标

本项目旨在为Python新手提供一个简易食谱生成器的开发教程。通过本项目,新手可以学习到如何设计和实现一个简单的应用程序,同时了解一些基本的编程概念和技巧。

项目33:简易食谱生成器 --- 《跟着小王学Python·新手》_在线聊天_02

功能

简易食谱生成器的主要功能包括:

  • 用户输入食材,程序根据食材推荐相应的食谱。
  • 显示食谱的名称、所需食材和烹饪步骤。
  • 允许用户保存生成的食谱。

设计

数据结构设计

我们将使用字典来存储食谱信息,其中键为食谱名称,值为另一个字典,包含所需食材和烹饪步骤。

程序流程设计

  1. 初始化食谱数据库。
  2. 提示用户输入食材。
  3. 根据输入的食材,从食谱数据库中匹配食谱。
  4. 显示匹配到的食谱。
  5. 提供保存食谱的选项。

用户界面设计

我们将使用命令行界面与用户交互,使用简单的文本提示和输入来实现用户界面。

实现步骤

  1. 创建食谱数据库。
  2. 实现食谱匹配逻辑。
  3. 实现用户输入和输出功能。
  4. 实现食谱保存功能。

代码实现

# 简易食谱生成器

# 食谱数据库
recipes = {
    "番茄炒蛋": {
        "食材": ["番茄", "鸡蛋", "盐", "糖"],
        "步骤": [
            "番茄切块,鸡蛋打散。",
            "锅中加油,倒入鸡蛋液,翻炒至熟。",
            "加入番茄块,加盐和糖,翻炒均匀。"
        ]
    },
    "青椒肉丝": {
        "食材": ["青椒", "猪肉", "生抽", "料酒"],
        "步骤": [
            "青椒切丝,猪肉切丝。",
            "锅中加油,先炒肉丝,加生抽和料酒调味。",
            "加入青椒丝,快速翻炒至熟。"
        ]
    }
}

# 用户输入食材
def get_ingredients():
    return input("请输入您拥有的食材,用逗号分隔:").split(",")

# 匹配食谱
def match_recipe(ingredients):
    matched_recipes = []
    for recipe_name, recipe_info in recipes.items():
        if all(ingredient in recipe_info["食材"] for ingredient in ingredients):
            matched_recipes.append(recipe_name)
    return matched_recipes

# 显示食谱
def display_recipes(matched_recipes):
    if not matched_recipes:
        print("没有找到匹配的食谱。")
    else:
        for recipe_name in matched_recipes:
            print(f"食谱名称:{recipe_name}")
            print("所需食材:", recipes[recipe_name]["食材"])
            print("烹饪步骤:")
            for step in recipes[recipe_name]["步骤"]:
                print("-", step)
            print()

# 主函数
def main():
    ingredients = get_ingredients()
    matched_recipes = match_recipe(ingredients)
    display_recipes(matched_recipes)

if __name__ == "__main__":
    main()

测试

  1. 测试输入单一食材是否能正确匹配食谱。
  2. 测试输入多个食材是否能正确匹配食谱。
  3. 测试输入不存在的食材是否能给出正确提示。

注意事项

  • 确保输入的食材名称与食谱数据库中的名称一致。
  • 程序目前不支持食材的同义词识别,需要用户输入准确的食材名称。
  • 食谱数据库可以根据需要进行扩展。

小结

通过本项目,我们学习了如何设计和实现一个简易的食谱生成器。我们了解了基本的数据结构设计、程序流程设计以及用户界面设计。同时,我们也实践了Python编程的基本技巧,包括字典的使用、函数的定义和调用等。希望这个项目能够帮助新手更好地理解Python编程的基本概念。