TD 4
1. Un vecteur sur le plan cartésien est représenté par un tuple (x, y), où xet ysont des
nombres. Soit vec une liste des vecteurs, par exemple vec = [(-3, 0), (1, 2), (4, -1)].
Triez la liste selon la longueur des vecteurs. Essayez sans et avec expressions lambda.
Rappel : la longueur d’un vecteur de coordonnées (x, y)est √x2+y2.
2. Triez une liste de chaînes selon le nombre de ’a’ contenu dans chaque chaîne. Par
exemple :
[’abc’, ’ababa’, ’bbbbbb’] →[’bbbbbb’, ’abc’, ’ababa’]
[’antani’, ’cool’, ’bellazio’] →[’cool’, ’bellazio’, ’antani’]
Astuce : utilisez la méthode de liste .count() vu en cours 2.
3. Écrivez une fonction pair(...) qui accepte plusieurs nombres en argument et renvoie
une liste avec les nombres pairs. Si on ne passe pas d’argument, elle renvoie None.
>>> pair(2, 3, 4)
[2, 4]
>>> pair()
>>> pair(3, 4, 1, -6, 5, 0)
[4, -6, 0]
Soit t = (3, 5, 6, 1, 2) un tuple. Appliquez la fonction pair(...) au tuple.
4. Écrivez un programme qui demande à l’utilisateur de saisir des nombre séparés par des
espaces, et applique la fonction pair(...) sur la liste des nombres saisis.
5. Écrivez une fonction g(...) qui se comporte de la façon suivante :
>>> g()
hello
>>> g(’salut’)
salut
>>> g(’salut’, john=3)
salut john, salut john, salut john
>>> g(’ciao’, john=2, jack=3)
ciao john, ciao john
ciao jack, ciao jack, ciao jack
La fonction doit marcher pour n’importe quel keyword argument (donc non pas seulement
john et jack).
1