Well, not exactly "pretty much any language": Common Lisp, Scheme, Arc, Clojure, Haskell, Perl, and SQL all return either 1/2 or 0.5. I'm sure there are plenty of others I'm not familiar with that behave the same way.
Good point. I was thinking of the C-based languages, though to be honest I'm not sure all of them behave in the same way. I should have been more careful talking about languages, especially around here...
It would do so if one of the numbers was a float - 1.0/2.0 gave a float answer, 1/2 gave an integer answer.
It was also possible in recent Python versions to switch this behaviour using "from __future__ import division" so they recognised it as a ward, but it's only with the decision to allow Python 3 to make backwards compatibility breaking changes that it could be changed normally.
Python 3.0 whatsnew http://docs.python.org/3.1/whatsnew/3.0.html
Python 3.1 whatsnew http://docs.python.org/3.1/whatsnew/3.1.html
They're clearer, more readable, more complete and linkable. No reason to use TFA.