Python の XOR 演算: ビット単位ロジックを超えて
Python での論理 XOR 演算を理解するのは、特に非ブール変数を比較する場合に難しい場合があります。文字列のような。ビット単位の XOR に一般的に使用されるビット単位の ^ 演算子は、この目的には不十分です。
解決策: ブール XOR
目的が 2 つのうちの 1 つであるかどうかを確認することである場合変数に True 値が含まれている場合、簡単な解決策は != 演算子です。これにより、2 つの変数のブール値が異なるかどうかがチェックされます。したがって、文字列の場合:
<code class="python">bool(str1) != bool(str2)</code>
一方の変数が None または空の文字列ではなく、もう一方の変数が XOR 条件を満たす場合、True が返されます。
Example
コード例の使用:
<code class="python">str1 = input("Enter string one:") str2 = input("Enter string two:") if bool(str1) != bool(str2): print("ok") else: print("bad")</code>
このコードは、1 つの文字列のみに空でない値が含まれているかどうかを正しく判断し、その場合は「ok」を出力します。
以上がPython で非ブール変数の論理 XOR を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。