Python で 2 つの変数の論理 XOR を取得するにはどうすればよいでしょうか? 質問する

Python で 2 つの変数の論理 XOR を取得するにはどうすればよいでしょうか? 質問する

どうやって論理排他的論理和Python で 2 つの変数を使用するには?

たとえば、文字列であると予想される変数が 2 つあります。そのうちの 1 つだけに True 値 (None または空の文字列ではない) が含まれていることをテストします。

str1 = raw_input("Enter string one:")
str2 = raw_input("Enter string two:")
if logical_xor(str1, str2):
    print "ok"
else:
    print "bad"

演算子^はビット単位で、すべてのオブジェクトで定義されているわけではありません。

>>> 1 ^ 1
0
>>> 2 ^ 1
3
>>> "abc" ^ ""
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unsupported operand type(s) for ^: 'str' and 'str'

ベストアンサー1

すでに入力をブール値に正規化している場合は、!= は xor になります。

bool(a) != bool(b)

おすすめ記事