檢查給定的浮點數在Python中是偶數還是奇數


假設我們有一個浮點數;我們必須檢查這個數是奇數還是偶數。通常,對於整數來說,透過將最後一位數字除以2很容易判斷。但是對於浮點數來說,它並不像那樣直接。我們不能將最後一位數字除以2來檢查它是否為奇數或偶數。

因此,如果輸入類似於n = 200.290,則輸出將是奇數,儘管最後一位數字可以被2整除。

為了解決這個問題,我們將遵循以下步驟:

  • s := 將數字轉換為字串
  • flag := False
  • 對於 i in range s 的大小 - 1 到 0,遞減 1,執行
    • 如果 s[i] 是 '0' 並且 flag 為 False,則
      • 進行下一次迭代
    • 如果 s[i] 與 '.' 相同,則
      • flag := True
      • 進行下一次迭代
    • 如果 s[i] 為偶數,則
      • 返回 "偶數"
    • 返回 "奇數"

讓我們看看下面的實現,以便更好地理解:

示例程式碼

線上演示

def solve(n) :
   s = str(n)

   flag = False
   for i in range(len(s) - 1, -1, -1) :
      if s[i] == '0' and flag == False :
         continue
  
      if s[i] == '.':
         flag = True
         continue
        
      if int(s[i]) % 2 == 0 :
         return "Even"
           
      return "Odd"    

n = 200.290
print(solve(n))

輸入

200.290

輸出

Odd

更新於:2021年1月16日

1K+ 瀏覽量

啟動你的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.