• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

while 에서 continue

21.02.16 21:37 작성 조회수 185

0

m = 5<o:p></o:p>

<o:p> </o:p>

while m > 0:<o:p></o:p>

   m -= 1<o:p></o:p>

if n == 2:<o:p></o:p>

   contonue<o:p></o:p>

print(m)<o:p></o:p>

print(‘loop ended.’)<o:p></o:p>

-        4<o:p></o:p>

3<o:p></o:p>

1<o:p></o:p>

0<o:p></o:p>

Loop ended.<o:p></o:p>

 

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

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

답변 5

·

답변을 작성해보세요.

1

PARK JUNYEONG님의 프로필

PARK JUNYEONG

2021.02.16

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

PARK JUNYEONG님의 프로필

PARK JUNYEONG

2021.02.17

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

0

qqqssh님의 프로필

qqqssh

질문자

2021.02.17

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

n = 5<o:p></o:p>

while n > 0:<o:p></o:p>

   n - = 1<o:p></o:p>

if n == 2:<o:p></o:p>

   break<o:p></o:p>

  print(n)<o:p></o:p>

print(‘loop ended.’)<o:p></o:p>

0

qqqssh님의 프로필

qqqssh

질문자

2021.02.16

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

m = 5<o:p></o:p>

<o:p> </o:p>

while m > 0:<o:p></o:p>

   m -= 1<o:p></o:p>

    if n == 2:<o:p></o:p>

       continue<o:p></o:p>

      print(m)<o:p></o:p>

      print(‘loop ended.’)<o:p></o:p>

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

          4<o:p></o:p>

3<o:p></o:p>

1<o:p></o:p>

0<o:p></o:p>

loop ended.<o:p></o:p>

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

0

PARK JUNYEONG님의 프로필

PARK JUNYEONG

2021.02.16

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

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

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

if n == 2:

   contonue

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

일단, chapter 몇부분인가요?

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