检查给定的浮点数在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] 为偶数,则
- 返回 "偶数"
- 返回 "奇数"
- 如果 s[i] 是 '0' 并且 flag 为 False,则
让我们看看下面的实现,以便更好地理解:
示例代码
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
广告