INF1007 Chapitre 4 PolyMtl
INF1007 Chapitre 4 PolyMtl
INF1007 Chapitre 4 PolyMtl
INF1007 : Introduction à la
programmation
Chapitre 4 – Chaîne de caractères et
fonctions de base de Python
Plan du cours
Séquence de caractères
Les chaînes de caractères constituent un cas particulier d'un type de
données plus général que l'on appelle des données composites.
Une donnée composite est une entité qui rassemble dans une seule
structure un ensemble d'entités plus simples. Dans le cas d'une
chaîne de caractères, par exemple, ces entités plus simples sont
évidemment les caractères eux-mêmes.
Python considère qu'une chaîne de caractères est un objet de la
catégorie des séquences, lesquelles sont des collections ordonnées
d'éléments. Cela signifie simplement que les caractères d'une
chaîne sont toujours disposés dans un certain ordre. Par
conséquent, chaque caractère de la chaîne peut être désigné par sa
place dans la séquence, à l'aide d'un index.
Le type str
1 ch = 'Bonjour'
2 print(ch[0], ch[1])
Un objet str est immuable ; c’est-à-dire que son contenu ne peut être
modifié une fois que la chaîne est créée. En effet, soit la chaîne de
caractères ch dont la valeur est “Bonjour”; l’instruction ”ch[0] = ‘v’ ”
va provoquer une erreur d’exécution.
1 ch = 'Bonjour'
2 ch[0] = 'v'
Accéder à plusieurs éléments peut être réalisé avec un découpage en
tranche, de type str[début:fin]
1 print('Hello world'[3:7])
2 print('Hello world'[:5])
3 print('Hello world'[4:])
Génie informatique et génie logiciel Benjamin De Leener 6 H2022
Chapitre 4 - Chaîne de caractères et fonctions de base de Python
1 ch = 'Bonjour'
2 print(len(ch))
1 ch1 = 'Bonjour'
Exemple 1 2 ch2 = 'Benjamin'
3 print(ch1 + ch2)
Opérateurs in et not in
Vous pouvez utiliser opérateurs in et not in pour tester si une chaîne de
caractères est incluse dans une autre chaîne de caractères.
1 ch = 'Bonjour'
2 print('on' in ch)
3 print('a' not in ch)
Génie informatique et génie logiciel Benjamin De Leener 10 H2022
Chapitre 4 - Chaîne de caractères et fonctions de base de Python
isalnum(): booléenne Renvoie True si les caractères dans cette chaîne sont
alphanumériques et il y a au moins un caractère.
isalpha(): booléenne Renvoie True si les caractères dans cette chaîne sont
alphabétiques et il y a au moins un caractère.
isdigit(): booléenne Renvoie True si cette chaîne ne contient que des caractères
numériques.
islower(): booléenne Renvoie True si tous les caractères dans cette chaîne est des
lettres minuscules et il y a au moins un caractère.
isupper(): booléenne Renvoie True si tous les caractères dans cette chaîne sont des
lettres majuscules et il y a au moins un caractère.
isspace(): booléenne Renvoie True si cette chaîne ne contient que des caractères
blancs.
Génie informatique et génie logiciel Benjamin De Leener 13 H2022
Chapitre 4 - Chaîne de caractères et fonctions de base de Python
capitalize(): Renvoie une copie de cette chaîne avec seulement le premier caractère en
majuscule.
lower(): Renvoie une copie de cette chaîne avec toutes les lettres converties en
minuscules.
upper(): Renvoie une copie de cette chaîne avec toutes les lettres converties en
majuscules.
title(): Renvoie une copie de cette chaîne avec la première lettre en majuscule dans
chaque mot.
swapcase(): Renvoie une copie de cette chaîne dans laquelle les lettres minuscules
converties en majuscules et les lettres en majuscules converties en minuscules.
replace(old, new): Retourne une nouvelle chaîne qui remplace toutes les occurrences
de la chaîne old par la chaîne new.
1 ma_chaine = 'Bonjour'
2 for c in ma_chaine:
3 print(c)
Composition et formatage
Afin d’éviter de devoir convertir les variables en chaîne de caractères
avant la composition, Python offre des possibilités de formatage.
1 nom, age = 'Benjamin', 31
2 print('Bonjour %s' % nom)
3 print('%s a %d ans' % (nom, age))
Composition et formatage
La fonction format() permet de créer des chaînes de caractères plus
facilement, en pouvant spécifier le format des données entrées,
sans devoir convertir les variables en chaînes de caractères.
1 var1, var2 = 42, 5.43
2 chaine1 = 'Réponses: {}, {}'.format(var1, var2)
3 chaine2 = 'Réponses: {:.2g}, {:.2g}'.format(var1, var2)
Exercices
1. Écrire un programme qui vérifie si le nombre de caractères d’une
chaîne de caractères est pair.
2. Écrire un programme qui supprime le 3ème caractère d’une chaîne
de caractères.
3. Écrire un programme qui remplace un caractère d’une chaîne de
caractère par un autre.
4. Écrire un programme qui renvoie le nombre d’occurrences d’un
caractère dans une chaîne de caractères, sans utiliser de fonctions
avancées.
5. Écrire un programme qui recherche le nombre de mots dans une
phrase donnée.