如何区分条件语句的浮点数与整数(经过一些计算后)?

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