Une chaine string égale à un espace renvoie vrai

Fermé
Lecodeurhtmlcss Messages postés 77 Date d'inscription lundi 20 avril 2020 Statut Membre Dernière intervention 24 août 2022 - Modifié le 22 févr. 2021 à 19:08
jee pee Messages postés 39611 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 avril 2024 - 22 févr. 2021 à 20:06
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

jee pee Messages postés 39611 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 23 avril 2024 9 230
Modifié le 22 févr. 2021 à 20:18
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.


0