Comment vérifier si une chaîne de caractères est en casse de titre (title case) en Python

PythonPythonBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à vérifier si une chaîne de caractères est en casse de titre (title case) en Python. Le laboratoire commence par expliquer le concept de casse de titre, un style de capitalisation couramment utilisé dans les titres et les en-têtes, où la première lettre de chaque mot est en majuscule, sauf pour les mots mineurs tels que les articles, les prépositions et les conjonctions.

Vous créerez ensuite un script Python nommé title_case.py qui inclut une fonction pour convertir une chaîne de caractères donnée en casse de titre. Le script divise la chaîne en mots, met en majuscule la première lettre de chaque mot (à l'exception des mots mineurs) et rejoint les mots ensemble. Enfin, vous exécuterez le script et observerez la sortie, démontrant la conversion des chaînes de caractères en casse de titre.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) python/BasicConceptsGroup -.-> python/strings("Strings") python/ControlFlowGroup -.-> python/conditional_statements("Conditional Statements") python/FunctionsGroup -.-> python/function_definition("Function Definition") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") subgraph Lab Skills python/strings -.-> lab-559580{{"Comment vérifier si une chaîne de caractères est en casse de titre (title case) en Python"}} python/conditional_statements -.-> lab-559580{{"Comment vérifier si une chaîne de caractères est en casse de titre (title case) en Python"}} python/function_definition -.-> lab-559580{{"Comment vérifier si une chaîne de caractères est en casse de titre (title case) en Python"}} python/build_in_functions -.-> lab-559580{{"Comment vérifier si une chaîne de caractères est en casse de titre (title case) en Python"}} end

Comprendre la casse de titre (Title Case)

Dans cette étape, vous allez apprendre ce qu'est la casse de titre, un style de capitalisation couramment utilisé dans les titres et les en-têtes. Comprendre la casse de titre est essentiel pour formater correctement le texte et garantir sa lisibilité.

La casse de titre désigne un style où la première lettre de chaque mot est en majuscule, sauf pour certains mots mineurs tels que les articles (a, an, the), les prépositions (of, in, to) et les conjonctions (and, but, or). Cependant, le premier et le dernier mot du titre sont toujours en majuscule, quelle que soit leur nature.

Commençons par créer un script Python pour explorer la casse de titre.

  1. Ouvrez l'éditeur VS Code dans l'environnement LabEx.

  2. Créez un nouveau fichier nommé title_case.py dans le répertoire ~/project.

    touch ~/project/title_case.py
  3. Ouvrez le fichier title_case.py dans l'éditeur.

  4. Ajoutez le code Python suivant au fichier :

    def to_title_case(text):
        minor_words = ['a', 'an', 'the', 'of', 'in', 'to', 'and', 'but', 'or']
        words = text.split()
        title_cased_words = []
        for i, word in enumerate(words):
            if i == 0 or i == len(words) - 1 or word not in minor_words:
                title_cased_words.append(word.capitalize())
            else:
                title_cased_words.append(word.lower())
        return ' '.join(title_cased_words)
    
    text1 = "the quick brown fox"
    text2 = "learning python is fun"
    
    print(to_title_case(text1))
    print(to_title_case(text2))

    Ce code définit une fonction to_title_case qui convertit une chaîne de caractères donnée en casse de titre. Il divise la chaîne en mots, met en majuscule la première lettre de chaque mot (à l'exception des mots mineurs), puis rejoint les mots ensemble.

  5. Enregistrez le fichier title_case.py.

  6. Exécutez le script en utilisant la commande python dans le terminal :

    python ~/project/title_case.py

    Vous devriez voir la sortie suivante :

    The Quick Brown Fox
    Learning Python Is Fun

    Cette sortie montre comment le script convertit les chaînes de caractères d'entrée en casse de titre, en mettant en majuscule la première lettre de chaque mot important.

Utiliser la méthode istitle()

Dans cette étape, vous apprendrez à utiliser la méthode istitle() en Python pour vérifier si une chaîne de caractères est en casse de titre (title case). La méthode istitle() est une méthode intégrée pour les chaînes de caractères qui renvoie True si la chaîne est en casse de titre et False dans le cas contraire.

Pour comprendre le fonctionnement de istitle(), modifions le script title_case.py de l'étape précédente.

  1. Ouvrez le fichier title_case.py dans l'éditeur VS Code.

  2. Ajoutez le code suivant au fichier :

    def to_title_case(text):
        minor_words = ['a', 'an', 'the', 'of', 'in', 'to', 'and', 'but', 'or']
        words = text.split()
        title_cased_words = []
        for i, word in enumerate(words):
            if i == 0 or i == len(words) - 1 or word not in minor_words:
                title_cased_words.append(word.capitalize())
            else:
                title_cased_words.append(word.lower())
        return ' '.join(title_cased_words)
    
    text1 = "the quick brown fox"
    text2 = "Learning Python is fun"
    text3 = to_title_case(text1)
    
    print(text1.istitle())
    print(text2.istitle())
    print(text3.istitle())

    Dans ce code, nous utilisons la méthode istitle() pour vérifier si text1, text2 et text3 sont en casse de titre. text1 est en minuscules, text2 est partiellement en casse de titre, et text3 est le résultat de la conversion de text1 en casse de titre à l'aide de la fonction to_title_case de l'étape précédente.

  3. Enregistrez le fichier title_case.py.

  4. Exécutez le script en utilisant la commande python dans le terminal :

    python ~/project/title_case.py

    Vous devriez voir la sortie suivante :

    False
    False
    True

    Cette sortie montre que text1 et text2 ne sont pas en casse de titre (donc istitle() renvoie False), tandis que text3 est en casse de titre (donc istitle() renvoie True).

Vérifier la bonne capitalisation

Dans cette étape, vous apprendrez à combiner la fonction to_title_case et la méthode istitle() pour vérifier si une chaîne de caractères donnée est correctement capitalisée selon les règles de la casse de titre (title case). Cela consiste à convertir la chaîne en casse de titre, puis à vérifier si la chaîne convertie est effectivement en casse de titre.

Continuons à modifier le script title_case.py des étapes précédentes.

  1. Ouvrez le fichier title_case.py dans l'éditeur VS Code.

  2. Ajoutez le code suivant au fichier :

    def to_title_case(text):
        minor_words = ['a', 'an', 'the', 'of', 'in', 'to', 'and', 'but', 'or']
        words = text.split()
        title_cased_words = []
        for i, word in enumerate(words):
            if i == 0 or i == len(words) - 1 or word not in minor_words:
                title_cased_words.append(word.capitalize())
            else:
                title_cased_words.append(word.lower())
        return ' '.join(title_cased_words)
    
    def check_title_case(text):
        title_cased_text = to_title_case(text)
        return title_cased_text.istitle()
    
    text1 = "the quick brown fox"
    text2 = "Learning Python is fun"
    text3 = "The Quick Brown Fox"
    
    print(check_title_case(text1))
    print(check_title_case(text2))
    print(check_title_case(text3))

    Dans ce code, nous définissons une nouvelle fonction check_title_case qui prend une chaîne de caractères en entrée, la convertit en casse de titre à l'aide de la fonction to_title_case, puis utilise la méthode istitle() pour vérifier si la chaîne convertie est en casse de titre. Nous testons ensuite cette fonction avec trois chaînes différentes : text1, text2 et text3.

  3. Enregistrez le fichier title_case.py.

  4. Exécutez le script en utilisant la commande python dans le terminal :

    python ~/project/title_case.py

    Vous devriez voir la sortie suivante :

    True
    True
    True

    Cette sortie montre que text1 et text2 sont converties en casse de titre et que la méthode istitle() renvoie True. text3 est déjà en casse de titre, et la fonction check_title_case le confirme.

Résumé

Dans ce laboratoire (lab), vous commencez par comprendre le concept de casse de titre (title case), un style de capitalisation où la première lettre de chaque mot est en majuscule, sauf pour les mots mineurs tels que les articles, les prépositions et les conjonctions (les premiers et derniers mots étant toujours en majuscule).

Ensuite, vous créez un script Python nommé title_case.py qui définit une fonction to_title_case pour convertir une chaîne de caractères donnée en casse de titre. Le script divise la chaîne en mots, met en majuscule les mots appropriés, puis les rejoint. Enfin, vous exécutez le script pour observer la sortie, ce qui démontre la conversion de chaînes d'exemple en casse de titre.