Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/285.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python exec()在我的定义中不起作用_Python_Exec - Fatal编程技术网

Python exec()在我的定义中不起作用

Python exec()在我的定义中不起作用,python,exec,Python,Exec,我定义了如下表函数: import numpy as np tabulator=" " def StringJoin(sez): združen_str="" for i in sez: združen_str+=i return(združen_str) def Table(arg): črsp=[] #črke spremenljivk forstringi=[] števc

我定义了如下表函数:

import numpy as np
tabulator="    "

def StringJoin(sez):
    združen_str=""
    for i in sez:
        združen_str+=i
    return(združen_str)

def Table(arg):
    črsp=[]   #črke spremenljivk
    forstringi=[]
    števc=0
    
#############################################
    definicija_str=arg[0][1:-1]

    for i in arg[1:]:
        if (type(i) is list):
            črsp+=[i[0]]
            forstringi+=["for "+i[0]+" in np.arange("+StringJoin([str(i2)+"," for i2 in i[1:]])[:-1]+")]\n" ]
        else:
            forstringi+=["for AS"+str(števc)+" in np.arange("+str(i)+")]\n" ]     #Avtomatska Spremenljivka 
        števc+=1
    črsp2=""
    for i in črsp:
        črsp2+=i+","    
    črsp3=črsp2[:-1]
    črsp3
    forstringi2=StringJoin(forstringi)

#############################################

    združen_str=StringJoin([
    "def fzatable(",
    črsp3,
"""
):

"""[1:-1],tabulator,
    definicija_str.replace("\n", "\n"+tabulator),
    "\nTable_output=np.array(",
    (len(arg)-1)*"[",
"""

fzatable(
"""[1:-1],črsp3,")\n",
    forstringi2,
"""
)
"""[1:-1]
    ])
    
#############################################
#    print(združen_str)
    exec(združen_str)
    return(Table_output)
在另一篇文章()中,我描述了这个函数应该做什么

因此,如果我输入以下内容

Table(["""
if (x**2+y**2<1):
    return(1)
else:
    return(0)
""",   
["x",-1,1.1,.1],
["y",-1,1.1,.1],
])
表([“”“
如果(x**2+y**2