On 1/27/2023 9:37 AM, mutt...@dastardlyhq.com wrote:
Hi
This is probably a dumb newbie question but I've just started to learn
python3 and eval() isn't behaving as I'd expect in that it works for
some things and not others. eg:
eval("1+1")
2
eval("print(123)")
123
eval("for i in range(1,10): i")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
for i in range(1,10): i
^
SyntaxError: invalid syntax
Why did the 3rd one fail? Does it not handle complex expressions?
Thanks for any help
This might -- or might not -- be useful:
eval( "print( [i for i in range(1, 10)] )" )
It prints a list, but you probably knew that:
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Louis
--
https://mail.python.org/mailman/listinfo/python-list