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

bookComparaison de Chaînes de Caractères

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, normaliser d'abord, puis 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
copy

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
copy

Supprimer les espaces 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
copy

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
copy

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 comparaison d'égalité insensible à la casse ?

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

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

question mark

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

Select the correct answer

question mark

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

Select the correct answer

question mark

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

Select the correct answer

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

Suggested prompts:

Can you explain the difference between `lower()` and `casefold()` in more detail?

What are some common mistakes to avoid when normalizing strings for comparison?

Can you show more examples of using these normalization techniques in real-world scenarios?

Awesome!

Completion rate improved to 3.45

bookComparaison 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, normaliser d'abord, puis 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
copy

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
copy

Supprimer les espaces 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
copy

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
copy

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 comparaison d'égalité insensible à la casse ?

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

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

question mark

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

Select the correct answer

question mark

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

Select the correct answer

question mark

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

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 2
some-alt