0
我还没有发现距离解决任何事情的情况是,如果你至少可以给我一个线索.. 我有这样的功能:忽略递归函数的Python 3.x的
def analizar_consulta(consulta, v):
print('\ntomar consulta: {}\n'.format(consulta))
#transformar todas las variables en su contenido
consulta = transformar_variable(consulta, v)
if consulta[0] in diccionario_funciones.keys():
parametros = list(filter(lambda x: not(isinstance(x,list)), consulta[1:]))
consultas = list(filter(lambda x: isinstance(x,list) , consulta[1:]))
print('parametros: {}'.format(parametros))
print('consultas: {}\n'.format(consultas))
if len(consultas) > 0:
pasadas = list(map(lambda x: analizar_consulta(x, v), consultas))
parametros.append(pasadas)
else:
return diccionario_funciones[consulta[0]](*parametros)
return diccionario_funciones[consulta[0]](*parametros)
else:
raise Exception('Comando no encontrado')
,因为它是递归的,有时它将第一个参数中的参数作为新实例中的一个新参数,但有时新参数的第一个参数是一个列表,这会在行5上产生错误(consulta[0]
) 是否存在如果有一个列表(只包含数字),它只是返回它而不是继续其余的代码? 对不起,代码是西班牙文,如果你不明白的东西,我可以编辑它。
当我尝试它丝毫["comparar", ["PROM", "x"], ">", ["DESV", "y"]]
这个参数,它会引发错误:TypeError: unhashable type: 'list'
请修复您的缩进。 – blacksite
而不是说“哪一个会引起第5行的错误”,你应该说出它引发了什么错误。理想地发布完整的错误追溯。 – Duncan