Transforma ara la funció
comb(f,g,a,b,c,d) del problema X47122 en
una funció fcomb(f,g) que rep només les
funcions f i
g, i retorna una funció que fa el
mateix amb els quatre paràmetres restants
a, b,
c i d (és a
dir, avalua f(g(a,b),g(c,d))).
La funció té dues funcions com a paràmetre,
f i g.
Fixeu-vos que, igual que al problema X47122, aquestes funcions no poden
ser de qualsevol manera, ja que el resultat d’aplicar
g ha d’estar dins el domini de la funció
f.
Un cop definida la funció, en provar-la al REPL de Python us hauria de sortir el mateix que podeu observar més avall.
>>> from operator import * >>> h = fcomb(min,max) >>> h(1,2,3,4) 2 >>> h = fcomb(max,min) >>> h(1,2,3,4) 3 >>> h(1,0,0,4) 0 >>> ff = fcomb(add,mul) >>> ff(1,2,3,4) 14 >>> ff(1,0,0,4) 0 >>> ff = fcomb(mul,add) >>> ff(1,2,3,4) 21 >>> ff('aa','bb',2,3) 'aabbaabbaabbaabbaabb' >>>