LINUX.ORG.RU

Настолько eval в бетоне убогий?

 


0

1
In [9]: summing = True

In [10]: o = '>'

In [11]: sum1 = 0
    ...: if summing:
    ...:     scode = "sum1+=x; "
    ...: else:
    ...:     scode = ''
    ...: fcode = """
    ...: def checkf (x):
    ...:     {}
    ...:     return x {} s
    ...: 
    ...: """
    ...: 
    ...: eval(fcode.format(scode, o))
    ...: 
  File "<string>", line 2
    def checkf (x):
      ^
SyntaxError: invalid syntax


In [12]: checkf
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-12-5b8dbfd36076> in <module>()
----> 1 checkf

NameError: name 'checkf' is not defined

★★★★★
Ответ на: комментарий от x3al

Вот это помогло. Спасибо.

ados ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.