檢查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 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告