Comment vérifier si une chaîne de caractères est en majuscules 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 (string) est entièrement en majuscules à l'aide de Python. Le laboratoire commence par l'exploration des chaînes de caractères en majuscules et la création d'un fichier Python pour tester différents exemples de chaînes. Vous utiliserez ensuite la méthode isupper(), une méthode intégrée pour les chaînes de caractères, pour déterminer si tous les caractères d'une chaîne sont en majuscules.

Enfin, le laboratoire vous guidera sur la manière de prendre en compte les caractères non-alphabétiques lors de la vérification des chaînes en majuscules, garantissant des résultats précis même lorsque les chaînes contiennent des nombres ou des espaces. Cela implique de modifier le code pour parcourir la chaîne et vérifier chaque caractère individuellement.


Skills Graph

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

Explorer les chaînes de caractères en majuscules

Dans cette étape, vous apprendrez à connaître les chaînes de caractères (strings) en majuscules en Python et à les identifier. Comprendre comment manipuler les chaînes de caractères en majuscules est fondamental pour des tâches telles que la validation de données, la normalisation de texte et le traitement de commandes.

Commençons par créer un fichier Python pour tester les chaînes de caractères.

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

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

    Vous pouvez créer un nouveau fichier en cliquant sur "File" -> "New File" dans le menu de VS Code, puis en l'enregistrant sous le nom uppercase_strings.py dans le répertoire ~/project.

  3. Ajoutez le code Python suivant au fichier uppercase_strings.py :

## Example strings
string1 = "HELLO"
string2 = "Hello"
string3 = "123HELLO"
string4 = "HELLO WORLD"

## Print the strings
print(f"String 1: {string1}")
print(f"String 2: {string2}")
print(f"String 3: {string3}")
print(f"String 4: {string4}")

Ce code définit quatre chaînes de caractères : string1, string2, string3 et string4. La fonction print() est utilisée pour afficher ces chaînes.

Maintenant, exécutons le script pour voir la sortie.

  1. Ouvrez un terminal dans l'environnement VS Code.

    Vous pouvez ouvrir un terminal en cliquant sur "View" -> "Terminal" dans le menu de VS Code.

  2. Exécutez le script Python en utilisant la commande suivante :

python uppercase_strings.py

Vous devriez voir la sortie suivante :

String 1: HELLO
String 2: Hello
String 3: 123HELLO
String 4: HELLO WORLD

Dans l'étape suivante, vous apprendrez à utiliser la méthode isupper() pour vérifier si une chaîne de caractères est entièrement en majuscules.

Utiliser la méthode isupper()

Dans cette étape, vous apprendrez à utiliser la méthode isupper() en Python pour vérifier si une chaîne de caractères (string) est entièrement en majuscules. La méthode isupper() est une méthode intégrée pour les chaînes de caractères qui renvoie True si tous les caractères de la chaîne sont en majuscules, et False dans le cas contraire.

Modifions le fichier uppercase_strings.py que vous avez créé à l'étape précédente pour utiliser la méthode isupper().

  1. Ouvrez le fichier uppercase_strings.py dans l'éditeur VS Code.
  2. Modifiez le code pour inclure la méthode isupper() comme suit :
## Example strings
string1 = "HELLO"
string2 = "Hello"
string3 = "123HELLO"
string4 = "HELLO WORLD"

## Check if the strings are uppercase using isupper()
result1 = string1.isupper()
result2 = string2.isupper()
result3 = string3.isupper()
result4 = string4.isupper()

## Print the results
print(f"String 1: {string1}, is uppercase: {result1}")
print(f"String 2: {string2}, is uppercase: {result2}")
print(f"String 3: {string3}, is uppercase: {result3}")
print(f"String 4: {string4}, is uppercase: {result4}")

Dans ce code, nous appelons la méthode isupper() sur chacune des chaînes de caractères d'exemple et stockons les résultats dans les variables result1, result2, result3 et result4. Ensuite, nous affichons les chaînes de caractères originales ainsi que les résultats correspondants de la méthode isupper().

Maintenant, exécutons le script pour voir la sortie.

  1. Ouvrez un terminal dans l'environnement VS Code.
  2. Exécutez le script Python en utilisant la commande suivante :
python uppercase_strings.py

Vous devriez voir la sortie suivante :

String 1: HELLO, is uppercase: True
String 2: Hello, is uppercase: False
String 3: 123HELLO, is uppercase: False
String 4: HELLO WORLD, is uppercase: False

Comme vous pouvez le voir, string1 (HELLO) est la seule chaîne de caractères qui renvoie True car tous ses caractères sont en majuscules. Les autres chaînes de caractères renvoient False car elles contiennent des caractères minuscules, des nombres ou des espaces.

Dans l'étape suivante, vous apprendrez à prendre en compte les caractères non-alphabétiques lors de la vérification des chaînes de caractères en majuscules.

Prendre en compte les caractères non-alphabétiques

Dans cette étape, vous apprendrez à prendre en compte les caractères non-alphabétiques lors de la vérification d'une chaîne de caractères pour savoir si elle est considérée comme en majuscules. La méthode isupper() ne renvoie True que si tous les caractères sont des lettres majuscules. Si une chaîne de caractères contient des nombres, des espaces ou d'autres caractères non-alphabétiques, isupper() renverra False. Pour gérer de tels cas, vous pouvez filtrer les caractères non-alphabétiques avant d'appliquer la méthode isupper().

Modifions le fichier uppercase_strings.py pour prendre en compte les caractères non-alphabétiques.

  1. Ouvrez le fichier uppercase_strings.py dans l'éditeur VS Code.
  2. Modifiez le code pour inclure un mécanisme de filtrage des caractères non-alphabétiques comme suit :
## Example strings
string1 = "HELLO"
string2 = "Hello"
string3 = "123HELLO"
string4 = "HELLO WORLD"
string5 = "HELLO123WORLD"

## Function to check if a string is uppercase, ignoring non-letters
def is_uppercase_ignore_non_letters(s):
    letters = ''.join(filter(str.isalpha, s))
    return letters.isupper()

## Check if the strings are uppercase using the custom function
result1 = is_uppercase_ignore_non_letters(string1)
result2 = is_uppercase_ignore_non_letters(string2)
result3 = is_uppercase_ignore_non_letters(string3)
result4 = is_uppercase_ignore_non_letters(string4)
result5 = is_uppercase_ignore_non_letters(string5)

## Print the results
print(f"String 1: {string1}, is uppercase (ignoring non-letters): {result1}")
print(f"String 2: {string2}, is uppercase (ignoring non-letters): {result2}")
print(f"String 3: {string3}, is uppercase (ignoring non-letters): {result3}")
print(f"String 4: {string4}, is uppercase (ignoring non-letters): {result4}")
print(f"String 5: {string5}, is uppercase (ignoring non-letters): {result5}")

Dans ce code :

  • Nous définissons une fonction is_uppercase_ignore_non_letters(s) qui filtre les caractères non-alphabétiques de la chaîne de caractères d'entrée s en utilisant filter(str.isalpha, s). La méthode str.isalpha() renvoie True si un caractère est une lettre (A - Z, a - z), et False dans le cas contraire.
  • La méthode ''.join() rejoint les lettres filtrées pour former une nouvelle chaîne de caractères.
  • Nous appliquons ensuite la méthode isupper() à la chaîne de caractères filtrée.
  • Enfin, nous affichons les chaînes de caractères originales ainsi que les résultats correspondants de la fonction personnalisée.

Maintenant, exécutons le script pour voir la sortie.

  1. Ouvrez un terminal dans l'environnement VS Code.
  2. Exécutez le script Python en utilisant la commande suivante :
python uppercase_strings.py

Vous devriez voir la sortie suivante :

String 1: HELLO, is uppercase (ignoring non-letters): True
String 2: Hello, is uppercase (ignoring non-letters): False
String 3: 123HELLO, is uppercase (ignoring non-letters): True
String 4: HELLO WORLD, is uppercase (ignoring non-letters): False
String 5: HELLO123WORLD, is uppercase (ignoring non-letters): True

Comme vous pouvez le voir, string3 (123HELLO) et string5 (HELLO123WORLD) renvoient maintenant True car les caractères non-alphabétiques sont ignorés et les lettres restantes sont toutes en majuscules.

Cette approche vous permet de déterminer avec précision si une chaîne de caractères est en majuscules, même lorsqu'elle contient des caractères non-alphabétiques.

Résumé

Dans ce laboratoire (lab), vous avez commencé par explorer les chaînes de caractères en majuscules en Python et créé un fichier uppercase_strings.py pour effectuer des expériences avec elles. Vous avez défini quatre chaînes de caractères avec des mises en majuscules et des contenus variés, puis les avez affichées dans la console à l'aide de la fonction print(). Cela vous a permis d'inspecter visuellement différents formats de chaînes de caractères et de vous préparer à utiliser la méthode isupper() à l'étape suivante.

L'étape suivante se concentrera sur l'utilisation de la méthode isupper() pour déterminer de manière programmée si une chaîne de caractères est entièrement composée de caractères majuscules.