An alternative would be to make standard Python functions (such as
count) return Integer objects, but this would make it incompatible
with vanilla Python.

On Jan 18, 11:33 pm, Nils Bruin <nbr...@sfu.ca> wrote:
> On Jan 18, 1:20 am, Simon King <simon.k...@uni-jena.de> wrote:
>
> > On the other hand, eventually we will have Python 3.*, and thus why
> > should I not get used to write int(i/j) instead of i/j, for `int`s i
> > and j?
>
> Because it can give the wrong answer :-). In Python 3:
>
> >>> int(10**40/10**10)
>
> 1000000000000000019884624838656
>
> Python 3's division for integers is quite unsuitable for a computer
> algebra system. In a way, the 2.* division at least has the advantage
> it was an operation that has a proper mathematical definition. In
> python 3 it can even fail:
>
> >>> int(10**1000/10**10)
>
> OverflowError: int/int too large for a float

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to