news 2026/6/15 17:37:26

开发早餐食谱推荐工具,输入食材耗时(5/10/15分钟),推荐简单易做的早餐,附带步骤,支持收藏,帮上班族快速搞定早餐营养不将就。

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
开发早餐食谱推荐工具,输入食材耗时(5/10/15分钟),推荐简单易做的早餐,附带步骤,支持收藏,帮上班族快速搞定早餐营养不将就。

1. 实际应用场景与痛点

场景

上班族早晨时间紧张,常常:

- 来不及准备早餐,随便吃点零食或直接空腹上班

- 想吃得健康但不知道做什么

- 食材有限,需要根据家里现有的东西推荐

- 收藏喜欢的食谱,方便重复使用

痛点

1. 时间紧迫:早上只有 5~15 分钟准备时间。

2. 选择困难:面对众多食谱无从下手。

3. 食材限制:需要根据现有食材推荐。

4. 缺乏记录:喜欢的食谱容易忘记,下次还得重新搜索。

2. 核心逻辑讲解

1. 输入条件

- 可用时间(5/10/15 分钟)

- 可选输入现有食材(后续可扩展)

2. 食谱筛选

- 根据时间筛选匹配的食谱

3. 随机推荐

- 从符合条件的食谱中随机推荐一款,避免单调

4. 详细步骤展示

- 显示食材清单与制作步骤

5. 收藏功能

- 可将喜欢的食谱保存到本地 JSON 文件

6. 模块化设计

- 分离数据、推荐逻辑、收藏管理、界面交互

3. 项目结构

breakfast_recommender/

├── main.py # 主程序入口

├── recipes.py # 食谱数据与筛选逻辑

├── favorites.py # 收藏管理

├── data/

│ ├── recipes.json # 食谱数据库

│ └── favorites.json # 收藏列表

├── README.md

└── USAGE.md

4. 核心代码

"recipes.py"

import json

import random

RECIPES_FILE = "data/recipes.json"

class RecipeRecommender:

def __init__(self):

with open(RECIPES_FILE, "r", encoding="utf-8") as f:

self.recipes = json.load(f)

def recommend(self, max_time):

candidates = [r for r in self.recipes if r["time"] <= max_time]

if not candidates:

return None

return random.choice(candidates)

"favorites.py"

import json

import os

FAVORITES_FILE = "data/favorites.json"

class FavoriteManager:

def __init__(self):

os.makedirs("data", exist_ok=True)

try:

with open(FAVORITES_FILE, "r", encoding="utf-8") as f:

self.favs = json.load(f)

except FileNotFoundError:

self.favs = []

def add(self, recipe):

if recipe not in self.favs:

self.favs.append(recipe)

self.save()

def save(self):

with open(FAVORITES_FILE, "w", encoding="utf-8") as f:

json.dump(self.favs, f, ensure_ascii=False, indent=4)

def list_favorites(self):

return self.favs

"main.py"

from recipes import RecipeRecommender

from favorites import FavoriteManager

def print_recipe(recipe):

print(f"\n🍳 {recipe['name']} ({recipe['time']}分钟)")

print("食材:", ", ".join(recipe["ingredients"]))

print("步骤:")

for i, step in enumerate(recipe["steps"], 1):

print(f" {i}. {step}")

def main():

recommender = RecipeRecommender()

fav_manager = FavoriteManager()

while True:

print("\n=== 早餐食谱推荐工具 ===")

print("1. 推荐早餐")

print("2. 查看收藏")

print("0. 退出")

choice = input("请选择: ").strip()

if choice == "1":

time_map = {"1": 5, "2": 10, "3": 15}

print("选择可用时间: 1)5分钟 2)10分钟 3)15分钟")

t_choice = input("> ").strip()

max_time = time_map.get(t_choice, 10)

recipe = recommender.recommend(max_time)

if recipe:

print_recipe(recipe)

if input("\n收藏此食谱? (y/n): ").lower() == "y":

fav_manager.add(recipe)

print("✅ 已收藏")

else:

print("❌ 无匹配食谱")

elif choice == "2":

favs = fav_manager.list_favorites()

if not favs:

print("暂无收藏")

else:

for r in favs:

print(f"- {r['name']} ({r['time']}分钟)")

elif choice == "0":

break

else:

print("无效选择")

if __name__ == "__main__":

main()

5.

"data/recipes.json" 示例

[

{

"name": "牛奶燕麦粥",

"time": 5,

"ingredients": ["燕麦片", "牛奶"],

"steps": ["锅中加水煮沸", "加入燕麦片煮2分钟", "倒入牛奶搅匀即可"]

},

{

"name": "鸡蛋三明治",

"time": 10,

"ingredients": ["面包", "鸡蛋", "生菜"],

"steps": ["煎蛋", "面包烤热", "夹入鸡蛋和生菜"]

},

{

"name": "香蕉酸奶杯",

"time": 5,

"ingredients": ["香蕉", "酸奶"],

"steps": ["香蕉切片", "倒入酸奶拌匀"]

}

]

6. README.md

# 🥣 早餐食谱推荐工具

一个用 Python 编写的 CLI 工具,根据可用时间推荐简单易做的早餐,支持收藏喜欢的食谱。

## 功能

- 按时间(5/10/15分钟)推荐早餐

- 显示食材与详细步骤

- 收藏喜欢的食谱

- 数据持久化(JSON)

## 安装

bash

git clone "https://github.com/yourname/breakfast_recommender.git" (https://github.com/yourname/breakfast_recommender.git)

cd breakfast_recommender

## 运行

bash

python main.py

7. USAGE.md

# 使用说明

1. 运行 `python main.py`。

2. 选择可用时间,获取推荐食谱。

3. 可收藏喜欢的食谱,下次直接查看。

4. 数据保存在 `data/` 目录下。

8. 核心知识点卡片

知识点 说明

JSON 数据持久化 存储食谱与收藏列表

模块化设计 分离数据、逻辑、交互

随机选择 避免推荐单调

条件筛选 根据时间匹配食谱

CLI 交互 简单易用

收藏功能 提升用户体验

9. 总结

这个工具解决了时间紧、选择难、无记录三大痛点,通过条件筛选 + 随机推荐 + 收藏管理,让上班族在几秒钟内获得合适的早餐方案,并可持续积累自己的早餐库。

它适合:

- 个人日常使用

- 合租室友共享

- 扩展为 Web/APP 服务

如果你需要,可以在下一步:

- 增加 食材过滤(根据现有食材推荐)

- 增加 营养标签(高蛋白、低脂等)

- 开发 手机端 GUI(Kivy/Flutter)

利用AI解决实际问题,如果你觉得这个工具好用,欢迎关注长安牧笛!

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 12:30:20

冬 日 暖 阳

冬日阳光 闪烁着真挚祝福 烦恼系在风尖 随孤寂柳枝 忘我舞蹈 摆动间 触见生命的灵动 珍爱寻常日子 善待每一次相逢 心中的太阳 便永远灿烂

作者头像 李华
网站建设 2026/6/14 20:02:08

FLUX.2‑klein‑4B:步数蒸馏实现 4 步亚秒级图像生成,在消费级 GPU 上体验实时交互;Vehicles OpenImages 数据集:专注车辆检测与定位

当前&#xff0c;主流图像生成模型虽能产出高质量结果&#xff0c;但推理速度慢、显存需求高&#xff0c;交互模式仍停留在「离线工具」时代&#xff0c;用户输入提示后只能被动等待&#xff0c;无法实现实时响应与交互。这限制了 AI 在实时设计、快速原型等场景的应用。 在此背…

作者头像 李华
网站建设 2026/6/15 12:18:46

高精度农业AI模型 玉米幼苗与杂草检测数据集 深度学习框架YOLOV8模型如何训练玉米幼苗检测数据集及玉米杂草检测数据集 识别幼苗及杂草

玉米幼苗与杂草检测 YOLO 数据集 的详细信息整理成的规范表&#x1f33d; 玉米幼苗与杂草检测 YOLO 数据集概览项目内容数据集名称玉米幼苗与杂草检测 YOLO 数据集总图像数量3,042 张类别数量2 类类别标签corn&#xff08;玉米幼苗&#xff09;、weed&#xff08;杂草&#xff…

作者头像 李华
网站建设 2026/6/15 12:30:19

<span class=“js_title_inner“>第146篇:美国棱镜门计划技术解密(二):被监听用户数据的审核、分发与入库全流程</span>

Part1 前言 大家好&#xff0c;我是ABC_123。上一篇文章着重给大家讲解了美国斯诺登曝光的棱镜门事件的技术细节&#xff0c;本篇文章我们继续介绍剩余部分&#xff0c;这篇文章比上一篇较难理解&#xff0c;是PRISM棱镜门计划审核流程及数据汇聚方式。Part2 技术研究过程 棱镜…

作者头像 李华
网站建设 2026/6/15 15:00:37

计算机毕业设计之基于springboot的在线作业管理系统的设计与实现

时代在飞速进步&#xff0c;每个行业都在努力发展现在先进技术&#xff0c;通过这些先进的技术来提高自己的水平和优势&#xff0c;在线作业管理系统当然不能排除在外。在线作业管理系统是在实际应用和软件工程的开发原理之上&#xff0c;运用java语言以及SpringBoot框架进行开…

作者头像 李华
网站建设 2026/6/15 13:20:14

计算机毕业设计之nodejs药品零售企业进销存管理系统

本文首先实现了药品零售企业进销存管理系统设计与实现管理技术的发展&#xff0c;随后依照传统的软件开发流程&#xff0c;最先为系统挑选适用的言语和软件开发平台&#xff0c;依据需求分析开展控制模块制做和数据库查询构造设计&#xff0c;随后依据系统整体功能模块的设计&a…

作者头像 李华