在 Python 中查找是否可以从给定的成本和数量范围获取比率


假设我们有一个从 lowCost 到 upCost 的成本范围,以及另一个从 lowQuant 到 upQuant 的数量范围,我们必须检查是否可以找到给定的比率 r,其中 r=cost/quantity,并且 lowCost ⇐ cost ⇐ upCost 和 lowQuant ⇐ quantity ⇐ upQuant。

因此,如果输入类似于 lowCost = 2,upCost = 10,lowQuant = 3,upQuant = 9 且 r = 3,则输出将为 True,因为成本 = r * 数量 = 3 * 3 = 9,其中成本在范围 [1, 10] 内,数量在 [2, 8] 内

为了解决这个问题,我们将遵循以下步骤:

  • 对于 l_quant 到 u_quant 的范围内的 i,执行以下操作:

    • res := i * ratio

    • 如果 l_cost ⇐ res 且 res ⇐ u_cost,则:

      • 返回 True

  • 返回 False

示例

让我们看看以下实现以更好地理解:

 在线演示

def can_we_find_r(l_cost, u_cost, l_quant, u_quant, ratio) :
   for i in range(l_quant, u_quant + 1) :
      res = i * ratio
      if (l_cost <= res and res <= u_cost) :
         return True
   return False

l_cost = 2
u_cost = 10
l_quant = 3
u_quant = 9
ratio = 3

print(can_we_find_r(l_cost, u_cost,l_quant,u_quant, ratio))

输入

2, 10, 3, 9, 3

输出

True

更新于:2020 年 8 月 25 日

47 次查看

启动你的 职业生涯

通过完成课程获得认证

开始
广告