Back
Close

Les bases de Python pour le lycée

smalicet
19.7K views
Previous: 2. Chaînes de caractères Next: 4. Listes

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 de sous_chaine dans la chaine.

    Attention. 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éthode find ne renvoie que l'indice du premier "o" qu'il rencontre.

  • chaine.count(sous_chaine) : Donne le nombre d'occurrences de la chaîne sous_chaine dans la chaine.

    Il 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înes ancienne par la chaîne nouvelle.

  • chaine.lower() : retourne une nouvelle chaîne de caractères où tous les caractères de chaine ont été transformé en minuscule.

  • chaine.upper() : retourne une nouvelle chaîne de caractères où tous les caractères de chaine ont été transformé en majuscule.

# 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(...)
Que faut-il mettre à la place des ... pour afficher le nombre de "e" dans ce texte ?

QCM 2
texte = "Un chasseur sachant chasser doit savoir chasser sans son chien."
print(texte.find("ch"))
Que va afficher ce programme ?

QCM 3
texte = "Un chasseur sachant chasser doit savoir chasser sans son chien."
print(texte.replace("ss","ch"))
Que va afficher ce programme ?

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 1

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 2

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.

Exercice 3
Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.
Go to tech.io
codingame x discord
Join the CodinGame community on Discord to chat about puzzle contributions, challenges, streams, blog articles - all that good stuff!
JOIN US ON DISCORD
Online Participants