所以,我正在尝试在URI Online Judge中完成练习,但是我在检查浮点数是否为整数时遇到了麻烦。这是我的代码:
I = 0.0
J = 1.0
while I <= 2:
for y in range(3):
if I.is_integer():
print("I=%d J=%d" % (I, J))
else:
print("I=%.1f J=%.1f" %(I, J))
J += 1.0
J -= 2.8
I += 0.2
嗯,输出工作正常,直到最后一个循环。在前两个循环中,值是整数,它按照预期打印:浮点数,因为它是一个整数。但是在最后一个循环中,我得到一个带有浮点的整数,有什么想法来解决这个问题吗?这是输出:
I=0 J=1 #working fine here
I=0 J=2
I=0 J=3
I=0.2 J=1.2
I=0.2 J=2.2
I=0.2 J=3.2
I=0.4 J=1.4
I=0.4 J=2.4
I=0.4 J=3.4
I=0.6 J=1.6
I=0.6 J=2.6
I=0.6 J=3.6
I=0.8 J=1.8
I=0.8 J=2.8
I=0.8 J=3.8
I=1 J=2 # also works fine here
I=1 J=3
I=1 J=4
I=1.2 J=2.2
I=1.2 J=3.2
I=1.2 J=4.2
I=1.4 J=2.4
I=1.4 J=3.4
I=1.4 J=4.4
I=1.6 J=2.6
I=1.6 J=3.6
I=1.6 J=4.6
I=1.8 J=2.8
I=1.8 J=3.8
I=1.8 J=4.8
I=2.0 J=3.0 # got messed up here
I=2.0 J=4.0
I=2.0 J=5.0
[编辑] - 按预期工作
I = 0.0
J = 1.0
while I <= 2:
for y in range(3):
if I.is_integer() or I > 1.9:
if 1.9 < I < 2.1: # Made some workarounds here
I += 0.1
print("I=%d J=%d" % (I, J))
else:
print("I=%.1f J=%.1f" %(I, J))
J += 1.0
J -= 2.8
I += 0.2