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