Comparaison 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.
123a = "Hello" b = "heLLo" print(a.lower() == b.lower()) # True
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.
123s1 = "straße" s2 = "STRASSE" print(s1.casefold() == s2.casefold()) # True
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.
123raw = " admin " role = "ADMIN" print(raw.strip().casefold() == role.casefold()) # True
Vérification des préfixes et des suffixes
Utiliser startswith et endswith. Pour des vérifications insensibles à la casse, normaliser d'abord.
1234fname = "Report_Final.PDF" print(fname.lower().endswith(".pdf")) # True prefix = "rep" print(fname.strip().casefold().startswith(prefix.casefold())) # True
Pipeline de normalisation cohérente
Adopter un ordre simple et reproductible :
- Supprimer les espaces extérieurs avec
.strip(); - Standardiser la casse avec
.casefold()(ou.lower()si vous préférez) ; - Utiliser ensuite
==,in,startswith,endswithou 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 ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 5
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, 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.
123a = "Hello" b = "heLLo" print(a.lower() == b.lower()) # True
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.
123s1 = "straße" s2 = "STRASSE" print(s1.casefold() == s2.casefold()) # True
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.
123raw = " admin " role = "ADMIN" print(raw.strip().casefold() == role.casefold()) # True
Vérification des préfixes et des suffixes
Utiliser startswith et endswith. Pour des vérifications insensibles à la casse, normaliser d'abord.
1234fname = "Report_Final.PDF" print(fname.lower().endswith(".pdf")) # True prefix = "rep" print(fname.strip().casefold().startswith(prefix.casefold())) # True
Pipeline de normalisation cohérente
Adopter un ordre simple et reproductible :
- Supprimer les espaces extérieurs avec
.strip(); - Standardiser la casse avec
.casefold()(ou.lower()si vous préférez) ; - Utiliser ensuite
==,in,startswith,endswithou 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 ?
Merci pour vos commentaires !