본문 바로가기
Python/Python FAQ

Python 파이썬에서 두 변수의 논리적 XOR을 어떻게 얻을 수 있나요?, How do you get the logical xor of two variables in Python?

by 베타코드 2023. 6. 7.
반응형

질문


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)
반응형

댓글