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

qqqssh님의 프로필 이미지
qqqssh

작성한 질문수

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

while(3-1) : for 문법과는 조금 달라요

while 에서 continue

작성

·

251

0

m = 5

 

while m > 0:

   m -= 1

if n == 2:

   contonue

print(m)

print(‘loop ended.’)

-        4

3

1

0

Loop ended.

 

loop ended는 왜 마지막에 출력되는건가요? 

2가 출력되어야 하는 단계에서 출력되어야 하는거 아닌가요?

답변 5

1

m = 5
while m > 0:
    m -= 1
    if m == 2:
        continue
    print(m)
print('Loop Ended.')

코드가 안되어서 제가 작성한 코드로 설명해 드릴게요

while문 조건을 보면 5 이상이고 m이 하나씩 줄어들죠?

그리고 if 문의 조건이 보면 2와 같으면 continue라 2가 안 나옵니다

그리고 m=0이면 while 문을 탈출하게 되는데 탈출하고 보니

print('Loop Ended')가 있네요?

그래서 마지막에 Loop Ended가 출력되는 겁니다!

-------------------------------------------------------

도움이 되었으면 우측하단 또는 좌측하단에 하트 한번만 눌러주세요 :)

또한, 해결이 안된 경우 답글 작성 부탁드립니다!

0

네 제가 수강할때 작성한 코드 기준으로 하면 마지막이라서 출력된거에요

0

qqqssh님의 프로필 이미지
qqqssh
질문자

그러면 아래에 loop ended는 브레이크랑 상관없이 마지막이라서 출력된건가요?

n = 5

while n > 0:

   n - = 1

if n == 2:

   break

  print(n)

print(‘loop ended.’)

0

qqqssh님의 프로필 이미지
qqqssh
질문자

continue 입니다 제가 잘못입력했어요! 

m = 5

 

while m > 0:

   m -= 1

    if n == 2:

       continue

      print(m)

      print(‘loop ended.’)

이렇게 되면 출력이 아래처럼 나온다고 하셨는데,

          4

3

1

0

loop ended.

loop ended가 왜 제일 아래에 오는지 궁금합니다.

0

일단 저렇게 코드를 작성하시면, 코드가 실행이 안됩니다

변수를 똑같이 선언을 해주셔야 코드가 돌아갑니다.

일단 2가 출력이 안되는 이유는 중간에 (변수가 m인경우)

if n == 2:

   contonue

이 부분때문에 2가 출력 안되고 다음 숫자인 1이 나온겁니다.

일단, chapter 몇부분인가요?

코드를 아무리 수정해도 오류가 잡히지않네요...

qqqssh님의 프로필 이미지
qqqssh

작성한 질문수

질문하기