You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写Python代码按日期生成含早中晚的随机餐单?多循环整合求助

解决方案

先修正代码问题,同时实现指定时间段内每日分早中晚的随机餐单生成需求:

关键修改说明

  • 原函数无需接收参数,直接从对应餐品列表随机选择即可(原函数传入的参数未实际使用)
  • 将餐单生成逻辑放入日期循环内部,确保每一天都会生成全新的随机餐品,而非重复使用同一组结果
  • 明确划分早、午、晚三餐结构,给每个餐段分配对应的食物/饮品组合

修改后的完整代码

import random
from datetime import timedelta, date

# 定义各类餐品列表
主餐列表 = ["生菜包汉堡", "生菜包芝士汉堡", "金枪鱼卷", "生菜夹萨拉米", "鸡汤面", "鲜虾面", "牛肉面", "猪肉面"]
配菜列表 = ["薯片", "芹菜条", "凯撒沙拉", "主厨沙拉", "胡萝卜条", "苹果", "李子", "葡萄"]
饮品列表 = ["苹果汁", "牛奶", "桃汁", "橙汁", "宝矿力水特", "白开水"]

# 随机选择餐品的工具函数
def 随机选餐(餐品列表):
    return random.choice(餐品列表)

# 生成日期范围的函数
def 日期范围(开始日期, 结束日期):
    for n in range(0, int((结束日期 - 开始日期).days) + 1):
        yield 开始日期 + timedelta(n)

# 设定餐单的日期范围
开始日期 = date(2023, 7, 6)
结束日期 = date(2023, 8, 14)

# 遍历每一天生成对应餐单
for 日期 in 日期范围(开始日期, 结束日期):
    print(f"=== {日期.strftime('%Y-%m-%d')} 餐单 ===")
    # 早餐:主餐+饮品
    print(f"早餐: {随机选餐(主餐列表)} + {随机选餐(饮品列表)}")
    # 午餐:主餐+配菜+饮品
    print(f"午餐: {随机选餐(主餐列表)} + {随机选餐(配菜列表)} + {随机选餐(饮品列表)}")
    # 晚餐:主餐+配菜+饮品
    print(f"晚餐: {随机选餐(主餐列表)} + {随机选餐(配菜列表)} + {随机选餐(饮品列表)}")
    print()  # 空行分隔每日餐单

额外优化建议

  • 若想让三餐餐品更贴合实际饮食规律,可以单独定义早餐专属餐品、午餐专属餐品等列表,替换对应位置的调用
  • 可添加连续餐单去重逻辑,避免连续多天出现完全重复的餐品组合

内容的提问来源于stack exchange,提问作者TMS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 09:02:03