On Mar 3, 6:45 pm, Wells <thewellsoli...@gmail.com> wrote: > This seems sort of odd to me: > > >>> a = 1 > >>> a += 1.202 > >>> a > > 2.202 > > Indicates that 'a' was an int that was implicitly casted to a float. > But: > > >>> a = 1 > >>> b = 3 > >>> a / b > > 0 > > This does not implicitly do the casting, it treats 'a' and 'b' as > integers, and the result as well. Changing 'b' to 3.0 will yield a > float as a result (0.33333333333333331) > > Is there some way to explain the consistency here? Does python > implicitly change the casting when you add variables of a different > numeric type? > > Anyway, just curiosity more than anything else. Thanks!
Python, like most other languages performs only integer division when both the operands are ints. So only if one of the types is a flot or you explicitly cast your expression to be a double, then the value will be a fraction. otherwise you will the quotient. -- http://mail.python.org/mailman/listinfo/python-list