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

katiesuyoon1115님의 프로필 이미지
katiesuyoon1115

작성한 질문수

파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)

if/elif 관련 질문 드립니다

작성

·

217

0

선생님 안녕하세요, 파이썬을 처음 배우고 있는데 강의 들으며 많은 도움 감사히 잘 받고 있습니다. 다른 게 아니라 해당 강의(아래 표기)에서 '세 가지 숫자를 입력받아 가장 작은 수를 구하는 문제'에서 제가 작성한 코드로 data3을 가장 작은 수로 입력 했을 때 입력한 숫자 3개만 출력되고 가장 작은 값인 data3값이 출력이 안되었습니다 (data1,data2가 가장 작은 수 일 때는 각각 정상출력됨 )

저는 if안에 if문을 넣어서 작성했는데 선생님이 작성하신 하나의 if절 내 and로 연결한 것이 달라서 출력이 안되는 것인지 문의 드립니다. (if절 안에 if절을 넣는 것과 하나의 if절 안에 and로 연결하는 것이 다른 의미를 가지는 것인지 궁금합니다)

해당 강의명: 문제를 풀며 가장 자연스럽게 익숙해지는 파이썬 기본: 문자열,리스트,조건문 활용1 (시간: 9분 30초~) 에서 '세가지 숫자를 입력받아 가장 작은 수를 구하는 문제

  • 작성하신 코드

    # data1=int(input())
    # data2=int(input())
    # data3=int(input())
    # if data1<=data2 and data1<=data3:
    #         print(data1)
    # elif data2<=data1 and data2<=data3:
    #         print(data2)
    # elif data3<=data1 and data3<=data2:
    #         print(data3)

    • 제가 작성한 코드

      data1=int(input('숫자1))
      data2=int(input('숫자2))
      data3=int(input('숫자3))
      if data1<=data2:
          if data1<=data3:
              print(data1)
      elif data2<=data1:
          if data2<=data3:
              print(data2)
      elif data3<=data1:
          if data3<=data2:
              print(data3)
      (결과값)
      숫자1 34
      숫자2 45
      숫자3 2
      >> 32가 나와야 하는데 숫자1,2,3만 출력됨

      미리 감사합니다! :)

답변 1

0

안녕하세요. 답변도우미입니다.

if 문 안에 또다른 if 문을 넣으면, 첫번째 if 문이 참일 때, 두번째 if 문이 참일 때만 출력이 됩니다. 또 if 문에 elif 구문을 여러개 넣으면, 그 중 처음 참인 elif 구문만 실행되고, 전체 구문이 종료됩니다. 하나의 if 문으로 이해하기 때문입니다. 이 부분때문에 말씀하신 부분이 출력이 안된 것으로 보시면 좋을 것 같습니다.

감사합니다.

katiesuyoon1115님의 프로필 이미지
katiesuyoon1115

작성한 질문수

질문하기