On 03/31/2013 03:33 AM, Steven D'Aprano wrote:
On Sat, 30 Mar 2013 23:56:46 -0700, morphex wrote:
Hi.
I was just doodling around with the python interpreter today, and here
is the dump from the terminal:
morphex@laptop:~$ python
Python 2.7.3 (default, Sep 26 2012, 21:53:58) [GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
1**2
1
1**2**3
1
1**2**3**4
1L
1**2**3**4**5
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
MemoryError
Does anyone know why this raises a MemoryError? Doesn't make sense to
me.
Because exponentiation is right-associative, not left.
1**2**3**4**5 is calculated like this:
1**2**3**4**5
=> 1**2**3**1024
=> 1**2**373...481 # 489-digit number
Oops, you're right, it's 489. I figured 488 but was wrong.
--
DaveA
--
http://mail.python.org/mailman/listinfo/python-list