Une chaine string égale à un espace renvoie vrai

Signaler
Messages postés
37
Date d'inscription
lundi 20 avril 2020
Statut
Membre
Dernière intervention
22 février 2021
-
Messages postés
31005
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
22 février 2021
-
Bonjour,

Je fais un peu de python en ce moment, je travaille sur une base de donnée. Pour la traiter je teste des valeurs dans une liste (en gros).
Mais un problème se pose. Je compare une valeur (
"a"
) aux caractères dans ma liste, et dès que je rencontre un espace,
"a" == " "
est considéré comme vrai !
Comment régler ça ? Je voudrais par exemple que l'espace et le a soit considérés comme deux caractères différents.

Merci beaucoup pour votre aide,
Nicolas de Bourgoing

Cette image montre bien le problème : python reconnait "a" et espace comme la même lettre. (je fais marcher sur thonny, parce que je n'ai pas besoin de vitesse phénoménale)


EDIT :
Tiens, il existe la commande
.isspace
qui peut être utile. On peut donc résoudre le problème en ajoutant plein de
if
tout bêtes pour marquer une exception. Je pense pouvoir faire ça, mais en tout cas le mystère reste entier...


Configuration: Windows / Chrome 88.0.4324.182


1 réponse

Messages postés
31005
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
22 février 2021
7 395
Bonjour,

Ton image ne prouve rien, elle ne montre pas le code concerné. Car
if "a" == " ":
    print("anomalie")
else:
    print("normal")

fonctionne normalement.

Et après ne pas oublier puisque tu travailles avec une base de données, que souvent rien n'est pas un caractère blanc mais une valeur particulière généralement notée NULL qui signifie vide et pour traiter cette valeur il peut y avoir des instructions spéciales.