Apprendre Python dans le secondaire
Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
Compléments sur les chaines de caractères
Constantes spécifiques aux chaines de caractères
Afin de ne pas avoir à initialiser des variables avec des valeurs bien connues, comme l'alphabet ou les chiffres de 0 à 9, Python nous en fournit.
En passant par le module string
(qui signifie suite ou chaîne), nous pouvons disposer des constantes suivantes :
- ascii_letters : contient toutes les lettres de l'alphabet en majuscule et en minuscule.
- ascii_lowercase : contient toutes les lettres de l'alphabet en minuscule uniquement.
- ascii_uppercase : contient toutes les lettres de l'alphabet en majuscule uniquement.
- digits : contient tous les chiffres de 0 à 9.
- hexdigits : contient tous les chiffres de la base hexadécimale, de 0 à F. Les lettres sont présentes en minuscule et en majuscule.
- whitespace : contient tous les caractères considérés comme des espaces. Sont inclus les caractères espace, tabulations, saut de ligne, retour du chariot, saut de page, et tabulation verticale.
Pour plus de précisions sur le module string
, rendez-vous dans la doc python, version 3.8.
Fonctions spécifiques aux chaines de caractères
Ce sont des méthodes appliquées directement à une chaine de caractères. La notation est un peu particulière : Le nom de la chaîne de caractères à traiter sera suivie d'un point suivi du nom de la méthode.
-
chaine.find(sous_chaine)
: Donne l'indice de la première apparition desous_chaine
dans lachaine
.1234texte = "J'ai posé ma brosse sur le bureau."print(texte.find("brosse"))print(texte.find("o"))Enter to Rename, Shift+Enter to PreviewAttention. Le premier caractère est toujours situé à l'indice numéro 0 !
Dans la chaîne
texte
, le 'b' de brosse étant le 14e caractère, son indice est 13. Pour le deuxième exemple, on voit que le "o" de "brosse" n'est pas pris en compte. La méthodefind
ne renvoie que l'indice du premier "o" qu'il rencontre. -
chaine.count(sous_chaine)
: Donne le nombre d'occurrences de la chaînesous_chaine
dans lachaine
.1234texte = "J'ai posé ma brosse sur le bureau."print(texte.count("os"))print(texte.count("e"))Enter to Rename, Shift+Enter to PreviewIl y a deux fois "os" dans la chaîne
texte
et trois "e". On remarquera que "é" n'est pas compté comme un "e". -
chaine.replace(ancienne, nouvelle)
: Remplace toutes les chaînesancienne
par la chaînenouvelle
.123texte = "Une foncttttion ttttrès prattttique si vous répéttttez ttttrop les tttt."print(texte.replace("tttt","t"))Enter to Rename, Shift+Enter to Preview -
chaine.lower()
: retourne une nouvelle chaîne de caractères où tous les caractères dechaine
ont été transformé en minuscule.12345678upcase_and_lowcase = "HeLlo WoRlD !"print(f"La chaîne '{upcase_and_lowcase}' en minuscule: {upcase_and_lowcase.lower()}")upcase = "HELLO WORLD !"print(f"La chaîne '{upcase}' en minuscule: {upcase.lower()}")lowcase = "hello world !"print(f"La chaîne '{lowcase}' en minuscule: {lowcase.lower()}")Enter to Rename, Shift+Enter to Preview -
chaine.upper()
: retourne une nouvelle chaîne de caractères où tous les caractères dechaine
ont été transformé en majuscule.123456789upcase_and_lowcase = "HeLlo WoRlD !"print(f"La chaîne '{upcase_and_lowcase}' en majuscule: {upcase_and_lowcase.upper()}")upcase = "HELLO WORLD !"print(f"La chaîne '{upcase}' en majuscule: {upcase.upper()}")lowcase = "hello world !"print(f"La chaîne '{lowcase}' en majuscule: {lowcase.upper()}")Enter to Rename, Shift+Enter to Preview
# QCM
Voici quelques QCM pour voir si vous avez bien compris. N'hésitez pas à relire ce qui précède si vous avez un doute.
QCM 1
texte = "Un chasseur sachant chasser doit savoir chasser sans son chien."
print(...)
QCM 2
texte = "Un chasseur sachant chasser doit savoir chasser sans son chien."
print(texte.find("ch"))
QCM 3
texte = "Un chasseur sachant chasser doit savoir chasser sans son chien."
print(texte.replace("ss","ch"))
Entrainement
Exercice 1
Pour le texte donné dans la fenêtre ci-dessous, créer un programme qui affiche le code ASCII correspondant à chaque lettre.
Pour l'affichage, on utilisera print
et les code ASCII seront affichés en allant à la ligne à chaque fois.
Exercice 2
Pour le texte donné dans la fenêtre ci-dessous, créer un programme qui, pour chaque lettre du texte, affiche la lettre suivante dans l'alphabet.
Quelques compléments :
- Pour le "z", on affichera "a".
- Le texte n'est composé que de lettres minuscules et sans accent.
Pour l'affichage, on utilisera print
et chaque lettre sera affichée en allant à la ligne.
Exercice 3
Pour le texte donné dans la fenêtre ci-dessous, créer un programme qui, pour chaque lettre du texte, affiche la lettre suivante dans l'alphabet.
Quelques compléments :
- Pour le "z", on affichera "a".
- Les lettres du texte sont toutes sans accent mais ne sont pas toutes en minuscule.
- La ponctuation et espaces devront rester inchangés.
Pour l'affichage, on utilisera print
et chaque lettre sera affichée en allant à la ligne.