Information

Author(s) Tanguy De Bels
Deadline Καμία προθεσμία
Submission limit No limitation

Συνδεθείτε

[Q1] Manipulation de listes

Définissez une fonction mix(l) qui prend comme entrée une liste avec un nombre pair d’entiers, par exemple : [1,2,3,4, …, ,97,98,99,100]. La fonction retourne une nouvelle liste de la même taille, par exemple : [1,100,2,99,3,98, …,50,51], avec comme premier élément le premier élément de la liste originale, comme deuxième élément le dernier élément de la liste originale, comme troisième élément le deuxième élément de la liste originale, comme quatrième élément l’avant-dernier élément de la liste originale, et ainsi de suite.

Plus précisément, pour chaque index i pair où 0 ≤ i < n et n est la taille de la liste originale, les éléments aux positions i et i+1 de la nouvelle liste seront, respectivement, l[i/2] et l[n-1-(i/2)].

La fonction demandée est la suivante:

def mix(l):
    """
    @pre:    l est une liste d'entiers
            la taille n de cette liste est un nombre pair
    @post:   retourne une liste r d’entiers
            la liste retournée r a la même taille n
            pour chaque index 0 ≤ i < n où i est pair on a la
            correspondance suivante entre les deux listes :
                r[i] = l[i//2]
                r[i+1] = l[n-1-(i//2)]
    """

Si nécessaire vous pouvez aussi définir des fonctions auxiliaires.


Question 1: mix
Question 2: Zone de test

Insérez votre code de test optionnel ci-dessous. Vous pouvez utiliser print pour tester votre programme. Votre code de test sera exécuté à la suite de la définition de votre méthode mix et d’éventuelles fonctions auxiliaires ci-dessus (il ne faut pas les recopier ici).

Exemple: