Livre_silo 30 août 2013 16:32 Page 80
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
80
Informatique pour tous
Ici cependant, aucune erreur n’apparaît si on change la valeur d’un élément :
In [103]: L[0] = 42
En évaluant l’expression L on se rend compte que cet élément a bien changé :
In [104]: L
Out[104]: [42, 2]
SAVOIR-FAIRE Choisir un type composé pour manipuler des données
• Pour représenter du texte, par exemple lu au clavier ou affiché à l’écran, on utilise
une chaîne de caractères.
• S’il n’ est pas nécessaire de modifier les composantes de la donnée manipulée, on
utilise un n-uplet.
• Si on veut pouvoir modifier les composantes individuellement, on utilise une liste.
En particulier, si on veut traiter du texte, il vaut mieux le représenter comme une
liste de caractères puisque, à la différence d’une chaîne de caractères, une liste n’est
pas immuable.
Exercice 3.15 Quel est le type adapté pour représenter les données suivantes :
1 le nom d’une personne ;
2 les coordonnées d’un point mobile dans l’espace ;
3 un numéro de téléphone ;
4 une adresse IP.
1 Une chaîne de caractères : il y a peu de chances de devoir modifier ce nom au cours du programme.
2 Si le point est amené à se déplacer, il faut pouvoir modifier ses coordonnées : on utilise une liste.
3 On pourrait être tenté d’utiliser un entier, mais la gestion du 0 en début de numéro risque de poser
problème. Comme un numéro de téléphone n’a pas vocation à être modifié et qu’il est de longueur
fixe, on peut utiliser un 10-uplet d’entiers, voire de caractères.
4 Une adresse IP est constituée de quatre entiers entre 0 et 255. On pourra choisir un quadruplet d’entiers
ou bien une liste de quatre entiers, selon l’usage que l’on va en faire dans le programme.
3.3.4 Conversions
Il est possible de convertir des n-uplets en listes et réciproquement, comme pour les types
simples :
In [105]: list( (1, 2, 3) )
Out[105]: [1, 2, 3]
In [106]: tuple( [1, 2] )
Out[106]: (1, 2)
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
80
Informatique pour tous
Ici cependant, aucune erreur n’apparaît si on change la valeur d’un élément :
In [103]: L[0] = 42
En évaluant l’expression L on se rend compte que cet élément a bien changé :
In [104]: L
Out[104]: [42, 2]
SAVOIR-FAIRE Choisir un type composé pour manipuler des données
• Pour représenter du texte, par exemple lu au clavier ou affiché à l’écran, on utilise
une chaîne de caractères.
• S’il n’ est pas nécessaire de modifier les composantes de la donnée manipulée, on
utilise un n-uplet.
• Si on veut pouvoir modifier les composantes individuellement, on utilise une liste.
En particulier, si on veut traiter du texte, il vaut mieux le représenter comme une
liste de caractères puisque, à la différence d’une chaîne de caractères, une liste n’est
pas immuable.
Exercice 3.15 Quel est le type adapté pour représenter les données suivantes :
1 le nom d’une personne ;
2 les coordonnées d’un point mobile dans l’espace ;
3 un numéro de téléphone ;
4 une adresse IP.
1 Une chaîne de caractères : il y a peu de chances de devoir modifier ce nom au cours du programme.
2 Si le point est amené à se déplacer, il faut pouvoir modifier ses coordonnées : on utilise une liste.
3 On pourrait être tenté d’utiliser un entier, mais la gestion du 0 en début de numéro risque de poser
problème. Comme un numéro de téléphone n’a pas vocation à être modifié et qu’il est de longueur
fixe, on peut utiliser un 10-uplet d’entiers, voire de caractères.
4 Une adresse IP est constituée de quatre entiers entre 0 et 255. On pourra choisir un quadruplet d’entiers
ou bien une liste de quatre entiers, selon l’usage que l’on va en faire dans le programme.
3.3.4 Conversions
Il est possible de convertir des n-uplets en listes et réciproquement, comme pour les types
simples :
In [105]: list( (1, 2, 3) )
Out[105]: [1, 2, 3]
In [106]: tuple( [1, 2] )
Out[106]: (1, 2)
