Python での XOR 演算: ビット単位ロジックを超えて
Python での論理 XOR 演算を理解するのは、特に非ブール変数を比較する場合に難しい場合があります。文字列のような。ビットごとの XOR に一般的に使用されるビットごとの ^ 演算子は、この目的には不十分です。
解決策: ブール XOR
目的が 2 つのうちの 1 つであるかどうかを確認することである場合変数に True 値が含まれている場合、簡単な解決策は != 演算子です。これにより、2 つの変数のブール値が異なるかどうかがチェックされます。したがって、文字列の場合:
bool(str1) != bool(str2)
これは、一方の変数が None または空の文字列ではなく、もう一方の変数が満たされている場合に True を返します。 XOR 条件。
例
コード例の使用:
str1 = input("Enter string one:")
str2 = input("Enter string two:")
if bool(str1) != bool(str2):
print("ok")
else:
print("bad")
このコードは、1 つの文字列のみに空でない値が含まれているかどうかを正しく判断し、その場合は「ok」を出力します。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3