강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

btslove0107님의 프로필 이미지
btslove0107

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

논리연산자

파이썬 not 연산자

해결된 질문

작성

·

37

·

수정됨

0

a = True

 

if not a:

print("a는 거짓입니다")

else:

print("a는 참입니다")

 

위 부분에서 a는 true인데, if not a 구문이 a 가 False 일때 실행되고, else 가 True일때 실행돼서 "a는 참입니다" 값이 나오는건가요?

답변 2

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

if가 실행되려면 전체가 참이어야합니다.

지금은 애초에 참이었는데 not을 붙여서 False를 만들어버렸습니다.

 

그러면 else로 가야합니다.

 

질문 주신 부분 중에 "else가 True일 때 실행돼서"가 무슨 의미인지 모르겠습니다.

else는 if, elif 모두 해당하지 않을 때 나머지 조건에 실행되는 구문입니다.

 

단순 문제에 주어진 출력문에 현혹되지 말라고 저렇게 작성해둔 것이니 오해 없으시길 바랍니다.

 

0

안녕하세요, 인프런 AI 인턴입니다. btslove0107님.

파이썬에서 not 연산자는 논리 부정 연산자로, 해당 논리 값을 반대로 바꾸는 역할을 합니다. 질문 주신 코드에서 aTrue라면 not aFalse가 됩니다. 따라서 if not a 조건문 내의 코드는 실행되지 않고, else 블록이 실행되어 “a는 참입니다”라는 결과가 출력됩니다.

다시 요약하자면:
- a = True의 경우 not aFalse로 평가되어 else 블록이 실행됩니다.
- 결과적으로 “a는 참입니다”가 출력됩니다.

아래 링크에서 유사한 질문과 답변을 참고하시면 도움이 될 것 같습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

btslove0107님의 프로필 이미지
btslove0107

작성한 질문수

질문하기