如何区分条件语句的浮点数与整数(经过一些计算后)?
how to make a distinction for float vs integer (after some computation) for conditional statement?
我有一些integers x,y,z
;假设我正在做 a = (x+y)/z.
如果 a
是整数,我想写一些代码,如果 a
是浮点数(不是整数),我想写一些其他代码。
我该怎么做?因为据我了解,经过上面的计算,a
会自动变成一个float-那我怎么写一个条件来区分呢?
您可以使用float.is_integer()
a = 2.0
print(a.is_integer()) # True
a = 2.5
print(a.is_integer()) # False
另一种选择是检查 a
是否等于 int(a)
,转换会将浮点数向下舍入到最接近的 int
a = 2.0
print(a == int(a)) # True
a = 2.5
print(a == int(a)) # False
我有一些integers x,y,z
;假设我正在做 a = (x+y)/z.
如果 a
是整数,我想写一些代码,如果 a
是浮点数(不是整数),我想写一些其他代码。
我该怎么做?因为据我了解,经过上面的计算,a
会自动变成一个float-那我怎么写一个条件来区分呢?
您可以使用float.is_integer()
a = 2.0
print(a.is_integer()) # True
a = 2.5
print(a.is_integer()) # False
另一种选择是检查 a
是否等于 int(a)
,转换会将浮点数向下舍入到最接近的 int
a = 2.0
print(a == int(a)) # True
a = 2.5
print(a == int(a)) # False