Python - Retornar valores en funciones de orden superior

 
Vista:
Imágen de perfil de Tomás

Retornar valores en funciones de orden superior

Publicado por Tomás (5 intervenciones) el 19/08/2015 01:49:21
Buenas,

Intento pasar unos valores mediante unas funciones para realizar dichas operaciones, pero no logro entenderlo del todo.

Tengo esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#Funciones de orden superior
    def seleccion(operacion):
        def suma(n, m):
        	return n + m
 
        def multi(n, m):
        	return n * m
 
    	if operacion == 'suma':
    		return suma
    	elif operacion == 'multi':
    		return multi
 
fGuardada = seleccion('multi')
 
print fGuardada(3, 4)


Y me salta este error:

1
2
3
4
Traceback (most recent call last):
  File "de.py", line 16, in <module>
    print fGuardada(3, 4)
TypeError: 'NoneType' object is not callable


He probado diferentes maneras para que puedo correr, pero nada.

A poder ser agradecería que me explicasen que es lo que hago mal.
Gracias.
Versión Python 2.7.6

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder