Llistes per comprensió P66679


Statement
 

pdf   zip

html

Es demana els codis de diverses funcions. Seguiu el format dels exemples que es mostren a sota. Tots els codis es poden escriure sense utilitzar bucles.

  1. Escriviu una funció my_map(f, L) que correspongui a una nova definició de la funció estàndard map tot usant llistes per comprensió.
  2. Escriviu una funció my_filter(f, L) que correspongui a una nova definició de la funció estàndard filter tot usant llistes per comprensió.
  3. Escriviu una funció factors(n) que, donat un enter estrictament positiu, retorni la llista amb els seus factors (no necessàriament primers).
  4. Escriviu una funció triplets(n) que, donat un enter estrictament positiu n, retorni una llista de totes les tripletes pitagòriques de n, és a dir, tripletes (a, b, c) on a2 + b2 = c2 amb 1≤ a, b, cn.

Puntuació

Totes les funcions valen el mateix.

Sample session
>>> my_map(lambda x: x + 1, [1, 2, 3, 4])
[2, 3, 4, 5]
>>> my_filter(lambda x: x % 2 == 1, [1, 2, 3, 4, 5])
[1, 3, 5]
>>> factors(10)
[1, 2, 5, 10]
>>> triplets(1)
[]
>>> triplets(20)
[(3, 4, 5), (4, 3, 5), (5, 12, 13), (6, 8, 10), (8, 6, 10), (8, 15, 17), (9, 12, 15), (12, 5, 13), (12, 9, 15), (12, 16, 20), (15, 8, 17), (16, 12, 20)]
Information
Author
Gerard Escudero i Albert Rubio
Language
Catalan
Official solutions
Python
User solutions
Python