For example
def asdf(x):
return (x / 2)
asdf(4.0)
asdf(5.0)
The returned value of 2.0
will be converted to 2
whereas 2.5
won't be converted to 2
.
The float object has a method float.is_integer
to determine whether it is an integer:
>>> 2.0.is_integer()
True
>>> 2.1.is_integer()
False
So if it returns true, you can convert it to an integer:
>>> def asdf(x):
... res = x / 2
... return int(res) if res.is_integer() else res
...
>>> asdf(4.0)
2
>>> asdf(5.0)
2.5