CODE PUZZLE

[EP23] - 29.2
La méthode `insert` de la classe `list` permet d’insérer un élément dans une liste à un `indice` donné. Le but de cet exercice est, *sans utiliser cette méthode*, d’écrire une fonction `ajoute` réalisant cette insertion en produisant une nouvelle liste. Cette fonction `ajoute` prend en paramètres trois variables `indice`, `element` et `liste` et renvoie une liste `L` dans laquelle les éléments sont ceux de la liste `liste` avec, en plus, l’élément `element` à l’indice `indice`. On considère que les variables `indice` et `element` sont des entiers positifs et que les éléments de `liste` sont également des entiers positifs. Les éléments de la liste `liste`, dont les indices sont supérieurs ou égaux à `indice` apparaissent décalés vers la droite dans la liste `L`. Si `indice` est supérieur ou égal au nombre d’éléments de la liste `liste`, l’élément element est ajouté dans `L` après tous les éléments de la liste `liste`. Exemple : ``` >>> ajoute(1, 4, [7, 8, 9]) [7, 4, 8, 9] >>> ajoute(3, 4, [7, 8, 9]) [7, 8, 9, 4] >>> ajoute(4, 4, [7, 8, 9]) [7, 8, 9, 4] ``` Compléter et tester le code ci-dessous : ``` def ajoute(indice, element, liste): nbre_elts = len(liste) L = [0 for i in range(nbre_elts + 1)] if ...: for i in range(indice): L[i] = ... L[...] = ... for i in range(indice + 1, nbre_elts + 1): L[i] = ... else: for i in range(nbre_elts): L[i] = ... L[...] = ... return L ```
def ajoute(indice, element, liste): nbre_elts = len(liste) L = [0 for i in range(nbre_elts + 1)] if ...: for i in range(indice): L[i] = ... L[...] = ... for i in range(indice + 1, nbre_elts + 1): L[i] = ... else: for i in range(nbre_elts): L[i] = ... L[...] = ... return L
Test 1
Test 2
Test 3
Console

			
Sortie