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

Python实现马蹄铁数量校验函数遇阻,求正确实现方案

修正后的Python代码及说明

首先明确问题核心逻辑:每匹马需要4个蹄铁,因此先计算马匹所需的总蹄铁数量 total_needed = k * 4,再对比现有数量 p:

  • 当 p < total_needed:缺失数量为 total_needed - p
  • 当 p > total_needed:剩余数量为 p - total_needed
  • 当两者相等:输出 OK

修正后的代码

def check(p, k):
    total_needed = k * 4
    if p < total_needed:
        print(f"Missing: {total_needed - p}")
    elif p > total_needed:
        print(f"Remaining: {p - total_needed}")
    else:
        print("OK")

check(20, 6)
check(10, 2)
check(12, 3)
check(13, 3)

输出验证

运行上述代码后,输出与期望完全一致:

Missing: 4
Remaining: 2
OK
Remaining: 1

原代码问题分析

原代码的逻辑完全偏离了任务核心:

  • 错误加入了与问题无关的奇偶性判断
  • 误用取余运算判断数量是否合适,忽略了每匹马需要4个蹄铁的关键条件
  • 剩余/缺失数量的计算公式完全错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 00:25:24