작성
·
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 문으로 이해하기 때문입니다. 이 부분때문에 말씀하신 부분이 출력이 안된 것으로 보시면 좋을 것 같습니다.
감사합니다.