저는 연산자와 숫자를 포함하는 스택을 구현하려고합니다. 연산자는 다음 중 하나 일 수 있습니다. not, and, or. 연산자는 정규 표현식에 대해 일치 : 나는 스택에서 이러한 연산자 중 하나를 팝업 경우Python : 연산자가 아닌 'not'문자열과 비교하는 방법?
expression = '((NOT (2 <= 4)) OR (2 = 2))'
log_op = re.compile('NOT|AND|OR|not|and|or')
log_match = log_op.match(expression)
if log_match is not None:
operator_stack.push(log_match.group().lower())
지금 내가 몇 가지 조치를 취할 필요가 :
operator = operator_stack.pop()
if operator is "not":
# invert some True to False
여기서 문제는 결코 경우를 입력 없다는 것입니다
. 문제가 일치하는 개체가 문자열과 비교되지 않는다는 것이 확실하지 않습니다.
'연산자'의 값은 무엇입니까? – thefourtheye
그것은 무엇을 의미합니까? stdlib에서'operator____ not__' 연산자를 사용합니까? –
'if! operator :' – alfasin