Livre_silo 30 août 2013 16:32 Page 81
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
81
3 – Expressions : types et opérations
On peut également éclater une chaîne et la convertir en la liste de ses caractères :
In [107]: list( 'Bonjour')
Out[107]: [ 'B', 'o', 'n', 'j', 'o', 'u', 'r']
La conversion d’une chaîne en n-uplet est également possible. En revanche, l’opération
inverse n’ est pas possible avec une conversion :
In [108]: str( [ 'M', 'o', 'i'] )
Out[108]: "[ 'M', 'o', 'i' ]"
SAVOIR-FAIRE Convertir une expression d’un type à un autre (suite)
On veut parfois transformer une expression d’un type donné en une expression d’un
autre type. Par exemple, si on lit une chaîne de caractères s dans un fichier de données
et si cette chaîne représente un nombre, il se peut qu’on veuille l’interpréter comme
un flottant ou un entier. Il suffit alors d’écrire, respectivement, float(s) ou int(s) pour
demander à Python de convertir cette chaîne en flottant ou en entier.
De manière générale, les fonctions list, tuple, str, float et int prennent un argument
et le transforment dans la mesure du possible en un objet de type liste, n-uplet, chaîne
de caractères, flottant et entier respectivement. On a déjà utilisé ce mécanisme pour
traiter les valeurs prises par l’expression input().
Exercice 3.16 Écrire une expression qui indique si les 6 voyelles de l’alphabet sont présentes dans une
chaîne de caractères s.
Exercice 3.17 Écrire une expression qui vérifie si la chaîne de caractères s commence par une majuscule
et se termine par un point.
Exercice 3.18 * L’expression tuple(list(t)) a-t-elle toujours la même valeur que t ?
Exercice 3.19 * On suppose que l’état comporte une variable a dont la valeur est un nombre, mais dont
on ne connaît pas le type.
Écrire une expression qui détermine si a est un entier ou un flottant en utilisant uniquement les fonctions
de conversion et les opérateurs sur les types composés.
Précédent

- 94/402

Suivant