你如何在 Python 中获得两个变量的 逻辑异 或?
例如,我有两个希望是字符串的变量。我想测试其中只有一个包含 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'
原文由 Zach Hirsch 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您已经将输入规范化为布尔值,则 != 是异或。