Maison >développement back-end >Tutoriel Python >Comment obtenir un comportement XOR avec des valeurs logiques en Python ?

Comment obtenir un comportement XOR avec des valeurs logiques en Python ?

DDD
DDDoriginal
2024-11-04 17:12:02949parcourir

How to Achieve XOR Behavior with Logical Values in Python?

XORing des valeurs logiques en Python

Lorsque vous traitez des valeurs logiques en Python, en particulier lors de la vérification de variables de chaîne, il peut être nécessaire de déterminez si exactement l’un d’entre eux est True (c’est-à-dire pas None ou une chaîne vide). L'opérateur logique XOR ^ ne convient pas à cet effet, car il effectue des opérations au niveau du bit et n'est pas universellement défini pour les objets.

Solution : Inégalité booléenne

Pour atteindre l'objectif comportement XOR souhaité, convertissez les variables en valeurs booléennes à l'aide de la fonction bool(), puis appliquez l'opérateur !=. Cela évalue efficacement si les valeurs booléennes des deux variables sont inégales, ce qui satisfait à la condition XOR :

<code class="python">bool(a) != bool(b)</code>

Par exemple, en Python, une chaîne vide est évaluée comme False :

bool("") == False

Par conséquent, l'extrait de code suivant affichera « ok » si une seule des chaînes d'entrée n'est pas vide :

<code class="python">str1 = raw_input("Enter string one:")
str2 = raw_input("Enter string two:")
if bool(str1) != bool(str2):
    print "ok"
else:
    print "bad"</code>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn