0

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.

Gakus
  • 3
  • 1

1 Answers1

5

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
Mechanic Pig
  • 6,756
  • 3
  • 10
  • 31