-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
미해결
if/elif 관련 질문 드립니다
23.03.13 11:58 작성 조회수 174
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만 출력됨
미리 감사합니다! :)
답변을 작성해보세요.
0
잔재미코딩 DaveLee
지식공유자2023.03.14
안녕하세요. 답변도우미입니다.
if 문 안에 또다른 if 문을 넣으면, 첫번째 if 문이 참일 때, 두번째 if 문이 참일 때만 출력이 됩니다. 또 if 문에 elif 구문을 여러개 넣으면, 그 중 처음 참인 elif 구문만 실행되고, 전체 구문이 종료됩니다. 하나의 if 문으로 이해하기 때문입니다. 이 부분때문에 말씀하신 부분이 출력이 안된 것으로 보시면 좋을 것 같습니다.
감사합니다.
답변 1