Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Comparaison de Chaînes de Caractères | Interactions entre Types
Types de Données en Python

Comparaison de Chaînes de Caractères

Glissez pour afficher le menu

Les comparaisons de chaînes en Python sont sensibles à la casse par défaut. Si la saisie utilisateur peut varier en capitalisation ou inclure des espaces supplémentaires, il convient de normaliser d'abord, puis de comparer. Une méthode simple et fiable consiste à supprimer les espaces et à standardiser la casse avant toute vérification d'égalité ou de préfixe/suffixe.

Sensible à la casse vs Insensible à la casse

Par défaut, "Apple" == "apple" donne False. Pour ignorer la casse, normaliser les deux côtés.

12345
# Comparing two email addresses entered with different letter cases email_saved = "Support@Codefinity.com" email_entered = "support@codefinity.COM" print(email_saved.lower() == email_entered.lower()) # True → emails match regardless of case

casefold() est une variante plus puissante et adaptée à l'international de lower(), et constitue un meilleur choix par défaut pour les comparaisons insensibles à la casse.

12345
# Comparing international usernames regardless of letter case username_db = "straße" username_input = "STRASSE" print(username_db.casefold() == username_input.casefold()) # True → matches even with special characters

Supprimer et comparer

Les utilisateurs ajoutent souvent des espaces par inadvertance. Supprimer les espaces en début et en fin de chaîne avant de comparer.

12345
# Validating a user's role input from a form user_input = " admin " required_role = "ADMIN" print(user_input.strip().casefold() == required_role.casefold()) # True → matches after cleanup and case normalization

Vérification des préfixes et suffixes

Utiliser startswith et endswith. Pour des vérifications insensibles à la casse, normaliser d'abord.

123456789
# Checking if the uploaded document has the correct format and name uploaded_file = "Report_Final.PDF" # Validate file type (case-insensitive) print(uploaded_file.lower().endswith(".pdf")) # True → valid PDF file # Validate file name prefix (e.g., all reports start with "rep") required_prefix = "rep" print(uploaded_file.strip().casefold().startswith(required_prefix.casefold())) # True → matches prefix ignoring case

Pipeline de normalisation cohérente

Adopter un ordre simple et reproductible :

  1. Supprimer les espaces extérieurs avec .strip() ;
  2. Standardiser la casse avec .casefold() (ou .lower() si vous préférez) ;
  3. Utiliser ensuite ==, in, startswith, endswith ou d'autres vérifications.

1. Quelle ligne effectue correctement une vérification d'égalité insensible à la casse ?

2. Étant donné s = " Hello ", quelle expression retourne True pour une vérification d'égalité insensible à la casse avec "hello" en ignorant les espaces autour ?

3. Quelle affirmation est la plus précise pour une comparaison insensible à la casse robuste ?

question mark

Quelle ligne effectue correctement une vérification d'égalité insensible à la casse ?

Sélectionnez la réponse correcte

question mark

Étant donné s = " Hello ", quelle expression retourne True pour une vérification d'égalité insensible à la casse avec "hello" en ignorant les espaces autour ?

Sélectionnez la réponse correcte

question mark

Quelle affirmation est la plus précise pour une comparaison insensible à la casse robuste ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 2

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 4. Chapitre 2
some-alt