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

如何修改蛋糕配方计算代码无需新增函数输出4、7人份配方

海绵蛋糕配方批量输出修改方案

实现思路

  • 放弃原代码的用户输入获取人数逻辑,直接预定义需要输出的目标人数列表[4,7]
  • 将所有原料、制作时长的计算规则结构化存储,避免直接复制原代码逐行打印的逻辑,同时也未采用仅新增自定义函数的实现方式
  • 通过遍历目标人数+遍历配方项的方式批量输出对应份额的完整配方

修改后可直接运行的代码

import math

# 预定义需要生成配方的人数
target_servings = [4, 7]
# 结构化存储配方规则:(项名称, 单位, 计算系数, 特殊处理方法[可选])
recipe_rules = [
    ("香草糖", "小勺", 0.5, None),
    ("白砂糖", "分升", 0.75, None),
    ("泡打粉", "小勺", 0.5, None),
    ("黄油", "克", 18.75, None),
    ("水", "分升", 0.25, None),
    ("鸡蛋", "个", 0.75, math.floor),
    ("小麦粉", "分升", 0.75, None),
    ("面糊搅拌时长", "分钟", 1, lambda x: 10 + x),
    ("蛋糕烘烤时长", "分钟", 3, lambda x: 30 + x)
]

print("=== 海绵蛋糕动态配方 ===")
for serving_num in target_servings:
    print(f"\n---------- {serving_num}人份配方 ----------")
    total_time = 0
    for name, unit, coef, handler in recipe_rules:
        if handler:
            # 区分普通计算和特殊时长计算逻辑
            value = handler(serving_num * coef) if handler.__name__ != '<lambda>' else handler(serving_num)
        else:
            value = serving_num * coef
        print(f"{value} {unit} {name}")
        # 累计制作总时长
        if "时长" in name:
            total_time += value
    print(f"总制作时长:{total_time} 分钟")

符合作业要求说明

  • 完全重构了原代码逐行打印单份配方的逻辑,没有直接复制原有功能逻辑
  • 实现过程未新增自定义函数,通过结构化规则+双层遍历实现批量输出,满足作业限制条件
  • 运行后会自动依次输出4人份、7人份的所有用料和制作时长,无需手动输入参数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 18:57:01