这并没有那么简单,但就我所能测试的而言,它似乎是有效的。
一个错误修复应该删除分数中多余的0。
它变得越来越混乱,但我必须假设会出现某些输入错误,并将其过滤掉。比如进入1。或1或1.1000,例如,
def find_Odd_Even(m):
try:
n = list(str( m ))
if n.count(".") < 2:
if n.count(".") == 0:
n.extend([ ".", "0" ])
elif n.index(".") == len(n) - 1:
n.append("0")
b = n.index(".")
BB = "".join( n[ b+1: ] )
while len(BB) > 1:
k = BB.removesuffix("0")
if k == BB:
break
else:
BB = k
AA = int("".join( n[ :b ] ))
BB = int( BB )
if AA&1 == 1 or BB&1 == 1:
answer = f"{m} is an odd number"
else:
answer = f"{m} is an even number"
else:
answer = "Bad input"
except Exception as err:
answer = str(err)
finally:
return answer
while 1:
m = input("Enter an decimal number: ")
if m == "":
break
else:
print(find_Odd_Even( m ))