Complex evaluation bug
Mel Wilson
mwilson-to at sympatico.ca
Thu May 18 13:41:11 EDT 2006
of wrote:
> a = 1+3j
> complex(str(a))
>
> Why does this not work ? It should
It would be nice.
Looks like str(1+3j) is returning an expression in string
form. Maybe there is no actual complex literal.
eval (str(1+3j)) works.
Python 2.4.2 (#1, Jan 23 2006, 21:24:54) [GCC 3.3.4] on linux2
Type "help", "copyright", "credits" or "license" for more
information.
>>> 1+3j
(1+3j)
>>> str(1+3j)
'(1+3j)'
>>> complex (str(1+3j))
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ValueError: complex() arg is a malformed string
>>> eval (str(1+3j))
(1+3j)
>>> eval(str(1+3j))**2
(-8+6j)
More information about the Python-list
mailing list