코딩 스쿨에 오신것을 환영합니다~~

질의응답 게시판

 
조건문 문의
민 * 애 | 2018-10-15

선생님 안녕하세요.
조건문에서 저는 if 이 오면 반드시 else 가 오는거 아닌가요?
그래서 전 if문 조건이 만족하지 않으면 무조건  else 다음 문장을 실행하는줄 알았습니다.
보내주신 물의 섭씨 온도 프로그램에서 화씨가 아니면  else 문 다음으로 가는거라고 생각했는데
그게 아닌가요?
선생님께서 보내주신 대로 하면
if문 조건에 만족 하지 않으면 그냥 다음 if 문으로 
                    그리고 그조건에 만족하지 않으면  elif 문으로 가고(여기서 if문을 쓰면 안되는건지요)
                                                elif문 만족하지 않으면 else로 다음문장을 실현하는 것으로 되어 있더라구요.

다시한번 여쭙겠습니다.
if 문에 조건이 만족하지 않으면 전체적인  else 문으로 가는건지 아니면 다음 if문으로 가는건지 
많이 헷갈리네요

  • 관 * 자
  • 2018-10-15 (21:52)
unit = input('단위를 입력해 주세요(섭씨 또는 화씨): ') 
temp = int(input('온도를 입력해 주세요: ')) 

if unit == '화씨' : 
   temp = (temp - 32) * 5 / 9 

if temp < 0 : 
   state = '고체' 
elif temp < 100 : 
   state = '액체' 
else : 
   state = '기체' 

print('물의 섭씨 온도 : %.0f, 상태 : %s' % (temp, state)) 
  • 관 * 자
  • 2018-10-15 (22:01)
안녕하세요.

if문은 처음에는 누구나 조금 헷갈려합니다.

첫 번째 if문에서는 unit가 '화씨'일 때만 그 다음 문장에 의해 temp는 환산식에 의해 섭씨 온도를 가집니다. 다시 말해 temp = (temp - 32) * 5 / 9 문장은 unit가 '화씨'일 경우에만 실행됩니다. 
unit가 '화씨'가 아닐경우에는 섭씨이기 때문에 온도 환산이 필요없는 것입니다.

if문은 세 가지 입니다. if~구문, if~ else~ 구문, if~ elif~ else~ 구문. 위의 프로그램에서는 if~구문과 if~ elif~ else~ 구문의 두 가지가 사용된 것입니다. 이해가 안가시는 부분이 있으시면 다시 댓글에 적어주세요.^^ 
  • 민 * 애
  • 2018-10-16 (10:16)
이제 좀 이해가 가네요.  친절하신 설명 감사드립니다.