2. Substituir zeros

Avís

Per a resoldre aquest exercici no es poden fer servir iteracions (ni for ni while ), només funcions recursives.

2.1. Funció canviar_zeros (3 punts)

Utilitzant la recursivitat, dissenyeu la funció següent i deseu-la al mòdul substituir (fitxer substituir.py):

substituir.canviar_zeros(le, ls)
Paràmetres:
  • le (list) – llista d’enters

  • ls (int) – llista d’enters

Canvia la llista le substituint els zeros que hi ha pels nombres de ls, en l’ordre en què hi apareixen. Si a la llista lsk elements i en le hi ha més de k zeros, només substitueix els k primers.

Per exemple,


>>> from substituir import canviar_zeros

>>> l1 = [1, 2, 0, 3, 0, 4, 5, 0]
>>> l2 = [10, 20, 30, 40]
>>> canviar_zeros(l1, l2)
>>> l1
[1, 2, 10, 3, 20, 4, 5, 30]
>>> l1 = [0, 0, 3, 0, 5, 0, 7, 0, 9, 0]
>>> canviar_zeros(l1, l2)
>>> l1
[10, 20, 3, 30, 5, 40, 7, 0, 9, 0]

Disposeu de més jocs de prova en el fitxer tests-substituir.txt.