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)¶
-
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 ls té k 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.