eval SyntaxError:python 中的语法无效 [英] eval SyntaxError: invalid syntax in python

查看:71
本文介绍了eval SyntaxError:python 中的语法无效的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想分配:

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

我写代码是为了表示当输入x1x8时,我可以得到一个字符串123的输出.

 for i in range(0,10):eval("x"+str(i)+"='123'")回溯(最近一次调用最后一次):文件<stdin>",第 2 行,在 <module>文件",第 1 行x0='123'^语法错误:无效语法

我怎么能这样做?

解决方案

对于语句的动态执行,请使用 exec 函数:

<预><代码>>>>exec('y = 3')>>>是3

eval 用法:eval(expression).

expression 参数被解析并计算为 Python 表达式.

例如:

<预><代码>>>>s = 3>>>eval('s == 3')真的>>>eval('s + 1')4>>>评估('s')3>>>eval('str(s) + "test"')'3test'

I want to assign :

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

I write the code to express that i can get the output of a string 123 when input x1 or x8 .

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

How i can do that way?

解决方案

For dynamic execution of statements use the exec function:

>>> exec('y = 3')
>>> y
3

eval usage: eval(expression).

The expression argument is parsed and evaluated as a Python expression.

e.g.:

>>> s = 3
>>> eval('s == 3')
True
>>> eval('s + 1')
4
>>> eval('s')
3
>>> eval('str(s) + "test"')
'3test'

这篇关于eval SyntaxError:python 中的语法无效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆