inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

(기출) 2025년 1회 (1/3)

2025년 1회 (1/3) 29분 51초

해결된 질문

38

준상

작성한 질문수 7

0

29분 51초의 화면 기준으로 아래 코드를 보면 node가 None인지를 먼저 판단하는것 같습니다. 즉, 위 코드에 if가 2개 존재하는데, 그 중 오른쪽 if 조건을 먼저 판단하는 것 같습니다. 제가 제대로 알아들은게 맞을까요??

 

그런데
result = "왼쪽 성공!" if True else "가운데" if (1 / 0 == 1) else "오른쪽"

print(result)

이 코드를 실행시켜보면, 왼쪽 성공이 출력됩니다. 그럼 왼쪽의 if를 먼저 판단한다는거같은데...

 

제가 어디서 잘못 생각하고 있을까요??

python java c 정보처리기사 정보처리산업기사

답변 2

1

주말코딩

안녕하세요. Python의 삼항연산자는 왼쪽 if부터 평가합니다.

영상 안에 있는 슬라이드는 개념적으로는 맞는데 정확한 코드는 아닙니다.

A if 조건1 else B if 조건2 else C

 

영상 내의 코드 설명

return node.value if level % 2 else 0 + sum(...) if node else 0

 

이걸 괄호로 변경해서 바꾸자면

return (node.value if level % 2 else (0 + sum(...) if node else 0))

평가 순서:

  1. level % 2 를 먼저 봄 (왼쪽 if)

  2. True면node.value 리턴 (오른쪽 if는 아예 보지 않음 )

  3. False면 → 그제야 오른쪽 if node else 0 을 평가

즉, "node가 None인지 먼저 판단한다"는 것은 오해입니다.
level % 2가 False일 때만 if node가 실행됩니다.

 

삼항연산자를 보면 왼쪽 먼저 보시고 오른쪽으로 흘러간다고 생각하시면 됩니다.

 


 

질문 주신 것을 보면,

result = "왼쪽 성공!" if True else "가운데" if (1 / 0 == 1) else "오른쪽"

이 코드의 순서는 이렇습니다.

  • 왼쪽 if True → 바로 True

  • "왼쪽 성공!" 리턴

  • 1 / 0실행조차 안 됨 → ZeroDivisionError 없이 정상 출력

0

인프런 AI 인턴

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

Python의 삼항 연산자인 조건부 표현식은 왼쪽부터 오른쪽 순서로 평가됩니다. 즉, 전체 조건을 평가하기 전에 왼쪽의 if 조건을 먼저 검사합니다. 삼항 연산자 구문 참일 때 값 if 조건 else 거짓일 때 값조건을 평가하여 참이면 참일 때 값을, 거짓이면 거짓일 때 값을 반환합니다.

주신 코드:

result = "왼쪽 성공!" if True else "가운데" if (1 / 0 == 1) else "오른쪽"

에서, True 라는 확실히 참인 조건이 먼저 나왔기 때문에, 이 삼항 연산식의 첫 번째 조건이 참으로 평가됩니다. 그래서 뒤의 값들은 확인하지 않고 “왼쪽 성공!“이 출력됩니다. Python은 단락 평가(short-circuit evaluation)를 활용하여 첫 번째 조건이 참이면 나머지 조건을 확인하지 않기 때문입니다.

이 과정에서 1 / 0 == 1 조건은 평가되지 않았습니다. 왜냐하면 첫 번째 True가 이미 결과를 결정했기 때문입니다.

이와 유사한 부분을 다룬 답변 링크를 참고하시면 도움될 수 있습니다:
- 29:27 Python 삼항연산자 해설 질문

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

필기자료 사라졌나요?(실기 일주일만에 안돼서 재도전-_-)

0

56

2

26년 1회 실기 해설 강의

0

78

2

53번 4-1 자료 오류 있는 것 같습니다.

0

76

2

7번문제

0

62

2

C언어 변형문제 9번문제 Pdf 수정요청

0

51

2

메서드 오버드라드

0

55

2

실수

0

46

1

공부 우선순위 우선강의 알려주세요

0

93

1

생성자 호출순서 강의 10번 문제 30분대 질문입니다

0

52

2

25년 2회 기출 5:40 질문입니다.

0

43

2

모의고사1회 3번 파이썬문제

0

76

2

C언어 출제변형 6번 문제

0

50

2

c언어 출제변형 강의 질문

0

32

2

28:40

0

34

2

C :  언어 배열과  문자열 수업자료

0

31

2

파이썬 리스트, 딕셔너리 질문

0

43

2

모의고사 관련 질문 건

1

69

3

자료 내용 오류

0

65

2

정적 변수, 정적 메서드(static) v2

0

51

2

v1.2 와 v0.91 PDF

0

104

1

업캐스팅 (부모형태, 자식생성자)

0

53

2

정보처리산업기사 준비중입니다.

0

74

2

실기 D -6

0

105

2

(기출) 2024년 2회 기출문제 - 이론 포함 22분32초 질문입니다

0

63

3