Hola
Tropy, antes que nada hay una mala lógica implementada en lo que quieres hacer te explico:
Tienes una función llamada selección que recibe el parámetro operación y posee dos funciones más llamadas suma y multiplicación que reciben 2 parametros mas, ahora bien donde viene el error? intentas guardar un valor de retorno de la función selección que no retorna ningún valor debido a que no pasas los parámetros correspondientes a las funciones suma y multiplicación, te dejo un ejemplo de las dos posibilidades que podrías implementar a ver si entiende mejor:
Opción 1:
Enviar los parámetros desde dentro de la función Selección y retornar el valor de las misma.
Código Python:
Ver originaldef seleccion(operacion):
def suma(n, m):
return n + m
def multiplicacion(n, m):
return n * m
if operacion=='multi':
return multiplicacion(5,2)
fGuardada = seleccion("multi")
print (fGuardada)
Opción 2 (Y más eficiente):
Agregar dos parámetros a la función selección y de esta forma pasar la operación a realizarse y los dos valores a los cuales se le aplicará la operación ejemplo:
te dejo de tarea que desarrolles el código completo.
Hecho en python 3.4