我想分配:

x0='123'
x1='123'
x2='123'
x3='123'
x4='123'
x5='123'
x6='123'
x7='123'
x8='123'
x9='123'

我编写代码来表示我可以在输入123x1时得到字符串的输出。
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/

10-11 22:04
查看更多