/ gives a floating point result. If you want an integer result, use //.
The reason it works like this is that if you have something like
function1() / function2()
it is possible to tell the type of the result even if you don't know the types returned by the individual functions.
Edit 1
Note that it has not always been this way. This is a "new" Python 3 behaviour, also available (but not active by default) for Python 2.2 onwards - see PEP 238. Thanks to @Steve314 for pointing this out.
Edit 2
However, it seems that what you are really trying to do is tell if one number goes exactly into another. For this you should use % (remainder)
print(15 % 5 == 0)
print(16 % 3 == 0)
This prints
True
False
Edit 3
If you want the type of the result to depend on whether the division goes exactly, you would need to do
a // b if a % b == 0 else a / b