python - 如何在 Python 中获得两个变量的逻辑异或?

标签 python logical-operators

您如何获得 logical xor 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'

最佳答案

如果您已经将输入标准化为 bool 值,则 != 是异或。

bool(a) != bool(b)

关于python - 如何在 Python 中获得两个变量的逻辑异或?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/432842/

相关文章:

python - 返回最小数字的索引而不是最小数字

javascript - Django 和 ajax 错误

MySQL 条件相反

c# - 运算符 '||' 不能应用于类型 'bool?' 和 'bool?' 的操作数

c - 返回逻辑运算符

python - Netmiko操作系统错误: Search pattern never detected in send_command:

python - 使用 OpenGL 在 Python 中进行 3d 绘图

python - 如何在Python中多次运行一个线程

mysql - MySQL 中的逻辑或

javascript - Codecademy 中的逻辑运算符练习 : hit a wall