检查给定的浮点数在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+ 浏览量

启动你的职业生涯

完成课程获得认证

开始
广告