강의로 돌아가기
문찬국

continue문이 어렵네요

항상 좋은 강의 잘 듣고 있습니다만 이번 continue문이 이해가 좀 어렵네요. 지금까지 실습문제를 풀면서 왠만한 것들은 수업을 바탕으로 다 이해할 수 있었는데 ,이번 continue문은 조금 난해한거 같아요. 이 문제는 어떻게 풀어야 하는지 잘 모르겠네요ㅠㅠ

작성중인 코드―break2
1
2
3
4
5
6
7
numbers = [ (1,2),(10,0) ]

for a,b in numbers:
    if b == 0:
        print("0으로 나눌 수는 없습니다.")
    continue
    print("{}를 {}로 나누면 {}".format(a,b,a/b))
2 개의 답변
정두식_

작성하신 코드를 보면 continue문이 무조건 실행되도록 되어 있네요. 작성하신 코드의 실행과정을 단계별로 살펴보면

  • a,b가 1,2일 때 조건문 안으로 들어가지 않게 됩니다.
  • continue문을 만나면 다음 코드를 실행하지 않고, for블록의 첫 줄로 바로 이동해서, a,b가 각각 10,0인 경우를 실행하게 되겠네요.

작성하신 코드에서 print("{}를 {}로 나누면 {}".format(a,b,a/b))는 절대 실행될 수 없는 코드가 됩니다.

continue를 조건문 안으로 넣으면 어떨까요?

  • 문찬국
    감사합니다 문제는 풀수 있게 됐는데, continue가 어떤 느낌으로 진행되는지에 대해서 좀 더 알고싶어요. 혹시 알려주실 수 있으에요? 문찬국 2018.05.03 14:04
김수한

반복문은 특정한 조건이 해당될때까지 코드가 계속 반복된다해서 반복문입니다.
하지만 반복문 실행 도중 특정조건이 해당되었을때 반복문이 종료되거나 해당 루프를 건너뛰고 싶을때 continue, break 를 사용합니다.

예를들어
for i in ['1', '2', '3', '4', '5'] 인 1부터 5까지의 반복문중 3을 건너뛰고 싶다면 반복문안에
if i == 3
continue;
print(i)

로 작성하시면 1,2,4,5 만 출력되게 됩니다.

이해가 되시나요??

  • 박세일
    와 설명 진짜 깔끔하게 잘하시네요 ,,, 좋은 정보 얻고 갑니다! 박세일 2019.03.13 15:44
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.