检查Python中从a到b的整数乘积是正数、负数还是零


假设我们有一个范围[l, u]的下限和上限。我们需要检查该范围内数字的乘积是正数、负数还是零。

因此,如果输入类似于l = -8 u = -2,则输出将为负数,因为该范围内的值为[-8, -7, -6, -5, -4, -3, -2],则乘积为-40320,因此这是负数。

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

  • 如果l和u都为正数,则
    • 返回“正数”
  • 否则,如果l为负数且u为正数,则
    • 返回“零”
  • 否则,
    • n := |l - u| + 1
    • 如果n为偶数,则
      • 返回“正数”
    • 返回“负数”

让我们看看下面的实现,以便更好地理解:

示例代码

在线演示

def solve(l,u):
   if l > 0 and u > 0:
      return "Positive"
   elif l <= 0 and u >= 0:
      return "Zero"
   else: 
      n = abs(l - u) + 1
      if n % 2 == 0:
         return "Positive"
      return "Negative"
   
l = -8
u = -2
print(solve(l,u))

输入

-8, -2

输出

Negative

更新于:2021年1月16日

148 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告