25.8 심사문제:딕셔너리에서 특정값 삭제하기
, 갓 병훈님이 작성if key != 'delta' and value != 30
and로 조건문을 썻을때는 되는데 아래와 같이 or로 조건문을 쓰면 왜 삭제가 안되는지 궁굼합니다.
key != 'delta' or value != 30
(도장_ 관리자님이 수정함 - 원문 제출일: 2019년 6월 22일, 토요일, 오후 4:42)
Re: 25.8 심사문제:딕셔너리에서 특정값 삭제하기
, 도장_ 관리자님이 작성조건식에서 or 연산자는 단락 평가를 합니다.
Unit 8.2.1 참고에 단락 평가에 대해 설명되어 있습니다.
if key != 'delta' or value != 30
key가 india이고, value가 30이면
key != 'delta'에서 이미 true로 판단합니다. 그러면 이후의 식은 비교할 필요가 없어 집니다.
Unit 8.2.1을 다시 읽어보세요. or 연산자를 쓸 때는 항상 단락 평가에 주의해야 합니다.
or 연산자를 썼을 때 이미 하나라도 True인 결과가 나오면 나머지 논리를 확인할 필요가 없습니다. 이미 결과는 True이니까요. 효율적인 처리를 위해 or 연산자는 단락 평가를 합니다.