반응형
질문
Python에서 두 변수의 논리적 XOR을 어떻게 얻을 수 있나요?
예를 들어, 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'
답변
입력 값을 이미 부울로 정규화하고 있다면, !=는 xor입니다.
bool(a) != bool(b)
반응형
댓글