Skip to content

Tail

But de l'éxercice

Le but de l'exercice est d'ecrire une fonction tail, dans un fichier tail.py dont le but est de retourner une liste des N derniers elements d'une séquence donnée.

Et voila le script de tests unitaires: test_tail.py

Exercice de base

Ecrire une fonction tail qui prend 2 parametres: une sequence (liste, tuple ou string) et un entier n. Faire en sorte de retourner les n derniers éléments de la sequence sous forme de liste.

>>> tail(["a", "b", "c", "d"], 1)
["d"]
>>> tail("abcd", 3)
["b", "c", "d"]
>>> tail(("a", "b", "c", "d"), 0)
[]

Bonus numéro 1

Faire en sorte que la fonction retourne une liste vide si le nombre n est negatif

>>> tail(("a", "b", "c", "d"), -3)
[]

Bonus numéro 2

Faire en sorte que la fonction puisse fonctionner avec n'import quel type d'iterable, par exemple:

>>> squares = (n**2 for n in range(10))
>>> tail(squares, 3)
[49, 64, 81]

Bonus numéro 3

Dire pourquoi il est inutile de faire retourner un iterable à la place d'une liste contrairement à l'exercice compact.

Aide

Si vraiment vous êtes bloqué.e.s, vous pouvez regarder ces articles:

Solution

Voir la solution