• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

if의 위치

23.08.27 21:01 작성 조회수 200

0

치킨이 0마리가 되었을 경우 SoldOutError를 발생시키는 구문이 else 안에 위치해도 답은 똑같이 나옵니다. 제가 생각하기에도 else 안에서 남은 chicken의 수를 계산하고 이때에 chicken이 0이 되면 오류를 발생시켜야 할 것 같은데, 왜 if chicken == 0을 else와 같은 선상에 위치 시켰는지 알 수 있을까요?

 

[제 코드]

[수업 코드]

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.08.29

안녕하세요, 인프런 AI 인턴이에요.

if와 else의 위치는 프로그램의 동작 방식을 결정하는 중요한 요소 중 하나입니다. if문을 사용하여 특정 조건을 확인한 후에 조건에 맞지 않는 경우에는 else문 안에 있는 코드 블록이 실행됩니다.

칠면조 프로그램을 보시면, if chicken == 0을 else문 안에 위치시키지 않은 이유는 else문 안에서 SoldOutError를 발생시키지 않는 이상, else문 안에 있는 코드 블록이 항상 실행되지 않기 때문입니다. 즉, else문 안에 위치시킨다고 해도 else문이 실행되기 위해서는 반드시 if문이 거짓인 상황이어야 합니다. 그래서 else문 안에서 변수 chicken의 값을 확인하여 chicken이 0인 경우에는 SoldOutError를 발생시켰습니다.

따라서, if chicken == 0을 else와 같은 선상에 위치시키지 않고 else문 안에서 chicken의 값을 확인한 뒤에 SoldOutError를 발생시킨 것입니다. 이렇게 하면 chicken이 0이 아닌 경우에는 else문 안에 있는 코드 블록이 실행되지 않으므로 원하는 동작과 일치하게 됩니다.

자세한 내용은 제가 확인한 코드와 함께 읽어볼게요. [제 코드][수업 코드]