【问题标题】:How to count horseshoes in python?对于给定数量的马蹄 p 和数量的马 k
【发布时间】:2022-11-03 20:16:31
【问题描述】:

我已经完全坚持了这个任务,我真的不知道如何让这个程序正常工作,因为我想我已经尝试了很多可能的选项,但不幸的是它仍然没有成功。

任务是:“铁匠必须给几匹马穿鞋,并且需要查看他的马蹄铁数量是否正确。编写一个 check(p, k) 函数,对于给定的马蹄铁数量 p 和马数量 k,打印找出丢失、剩余的马蹄铁数量或数量是否正确(有关输出格式,请参见示例文件)。”

我已经完成的代码是:

def check(p, k):
    if p % 2 == 0 and k % 2 == 0 and p % k == 0:
        print("Remaining:", k % p)     
    elif p % k != 0:
        print("Missing:", p // k + 1)
    else:
        print("OK")

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

输出应如下所示:

Missing: 4
Remaining: 2
OK
Remaining: 1

【问题讨论】:

  • 我假设一匹马需要 4 只鞋子?
  • 我已经考虑过了,但我仍然不知道如何实现它
  • 据我了解,如果 p < 4 * k,铁匠就是“失踪”的马蹄铁;如果 p > 4* k,则有“剩余”马蹄铁;当 p == 4 * k 时为“OK”。我认为你有 if 条件和他们的身体错误。
  • @MT756 谢谢你的回答!

标签: python function numbers


【解决方案1】:

你可以试试这个:

def check(shoes, horses):
  if shoes > 4*horses:
     print("Remaining:", shoes - 4 * horses)
  elif shoes == 4*horses:
     print("OK")
  else:
     print("Missing:", 4 * horses - shoes)

【讨论】:

  • 感谢您的时间!
  • 好的。选择变量名会更清楚需要needed = horses * 4 只需计算一次。
【解决方案2】:

首先尝试检查您的号码是否正确:

def check(p, k):
    required_shoes = k * 4
    if p == required_shoes:
        # just right
    elif p < required_shoes:
        # not enough
    else:
        # too many

【讨论】:

  • 谢谢,你的回答对我也有帮助
【解决方案3】:
def check(p, k):
    if p / k == 4:
        print("OK")
    elif p / k > 4:
        print("Remaining:", p - 4 * k)
    else:
        print("Missing:", 4 * k - p)

check(20, 6) # Missing: 4
check(10, 2) # Remaining: 2
check(12, 3) # OK
check(13, 3) # Remaining: 1

这在给定的情况下有效

【讨论】:

  • 非常感谢!
猜你喜欢
  • 2012-01-02
  • 1970-01-01
  • 2021-09-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-30
  • 1970-01-01
相关资源
最近更新 更多