我想分配:
x0='123'
x1='123'
x2='123'
x3='123'
x4='123'
x5='123'
x6='123'
x7='123'
x8='123'
x9='123'
我编写代码来表示我可以在输入
123
或x1
时得到字符串的输出。for i in range(0,10):
eval("x"+str(i)+"='123'")
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
File "<string>", line 1
x0='123'
^
SyntaxError: invalid syntax
我怎么能那样做?
最佳答案
对于语句的动态执行,请使用exec
语句。
>>> exec('y=3')
>>> y
3
评估USGAE:
eval(expression)
expression
参数被解析为python表达式并计算为python表达式。如:
>>> s=3
>>> eval('s==3')
True
>>> eval('s + 1')
4
>>> eval('s')
3
>>> eval('str(s)+"test"')
'3test'
关于python - eval SyntaxError:python中的语法无效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22558548/