Ok, thank you all!

I was curious just because, due to the error, I did not expect a result.

On Thursday, October 23, 2014 5:28:46 PM UTC-2, kcrisman wrote:
>
> Or, in the notebook/cell server/cloud, choose "python" from the drop-down 
> menu for system and just do this example in Python!  Lots of options.
>  
>
>> Or type 
>>
>> Integer = int 
>>
>> to make Sage integers the usual Python integers in that session. 
>>
>> On Thu, Oct 23, 2014 at 11:54 AM, Volker Braun <vbrau...@gmail.com 
>> <javascript:>> wrote: 
>> > The short answer is that mathematical objects in Sage don't define 
>> addition 
>> > by implementing __add__ and __radd__ by hand. If you want to learn 
>> about 
>> > them make sure to not add Sage objects (like Sage integers). E.g. 
>> int(1) + y 
>> > would work. 
>> > 
>> > 
>> > 
>> > On Thursday, October 23, 2014 7:46:02 PM UTC+1, João Alberto Ferreira 
>> wrote: 
>> >> 
>> >> I am running the following Python example from the book "Learning 
>> >> Python", from Mark Lutz and David Ascher, but Sage is returning a 
>> >> TypeError after presenting the correct response. Can anyone explain me 
>> >> why? I've found this very strange. 
>> >> 
>> >> sage: class Commuter: 
>> >> ....:     def __init__(self, val): 
>> >> ....:         self.val = val 
>> >> ....:     def __add__(self, other): 
>> >> ....:         print "add", self.val, other 
>> >> ....:     def __radd__(self, other): 
>> >> ....:         print "radd", self.val, other 
>> >> ....: 
>> >> sage: x = Commuter(88) 
>> >> sage: y = Commuter(99) 
>> >> sage: x + 1 
>> >> add 88 1 
>> >> sage: 1 + y 
>> >> radd 99 1 
>> >> 
>> >> 
>> --------------------------------------------------------------------------- 
>> >> TypeError                                 Traceback (most recent call 
>> >> last) 
>> >> <ipython-input-76-e047f7a3a32a> in <module>() 
>> >> ----> 1 Integer(1) + y 
>> >> 
>> >> 
>> >> 
>> /usr/local/Sagemath/sage-6.3/local/lib/python2.7/site-packages/sage/structure/element.so
>>  
>>
>> >> in sage.structure.element.RingElement.__add__ 
>> >> (build/cythonized/sage/structure/element.c:14696)() 
>> >> 
>> >> 
>> >> 
>> /usr/local/Sagemath/sage-6.3/local/lib/python2.7/site-packages/sage/structure/coerce.so
>>  
>>
>> >> in sage.structure.coerce.CoercionModel_cache_maps.bin_op 
>> >> (build/cythonized/sage/structure/coerce.c:8323)() 
>> >> 
>> >> TypeError: unsupported operand parent(s) for '+': 'Integer Ring' and 
>> >> '<type 'instance'>' 
>> > 
>> > -- 
>> > You received this message because you are subscribed to the Google 
>> Groups 
>> > "sage-support" group. 
>> > To unsubscribe from this group and stop receiving emails from it, send 
>> an 
>> > email to sage-support...@googlegroups.com <javascript:>. 
>> > To post to this group, send email to sage-s...@googlegroups.com 
>> <javascript:>. 
>> > Visit this group at http://groups.google.com/group/sage-support. 
>> > For more options, visit https://groups.google.com/d/optout. 
>>
>>
>>
>> -- 
>> William Stein 
>> Professor of Mathematics 
>> University of Washington 
>> http://wstein.org 
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to