假设我们有一个浮点数;我们必须检查数字是奇数还是偶数。通常,对于整数,可以通过将最后一位除以2来轻松实现,但是对于浮点数,并不是那样简单。我们不能将最后一位除以2来检查它是奇数还是偶数。
因此,如果输入类似于n = 200.290,则尽管最后一位可被2整除,但输出将为奇数。
为了解决这个问题,我们将遵循以下步骤-
s:=将数字转换为字符串
标志:= False
对于范围为s-1至0的i,将其减小1,
返回“偶数”
标志:= True
进行下一次迭代
进行下一次迭代
如果s [i]为'0'并且标志为False,则
如果s [i]与'。'相同,则
如果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