● break는 for와 while 문법에서 제어흐름을 벗어나기 위해 사용한다. 즉, 루프를 완전히 중단. continue는 break와 비슷하지만 약간 다른 점이 있다. break는 제어흐름을 중단하고 빠져 나오지만, continue는 제어흐름(반복)을 유지한 상태에서 코드의 실행만 건너뛰는 역할을 한다. 마치 카드 게임을 할 때 패가 안 좋으면 판을 포기하고 다음 기회를 노리는 것과 비슷
- break: 제어흐름 중단
- continue: 제어흐름 유지, 코드 실행만 건너뜀
예 | 예 | 결과값 |
i = 0 while True: # 무한루프 print(i) i += 1 # i값 1씩 증가 if i == 10: # i가 10일 때 break # 반복문을 끝냄, while 제어흐름을 벗어남 |
for i in range(10000): # 0 ~ 9999까지 반복 print(i) if i == 10: # i가 10일 때 break # 반복문을 끝냄, for 제어흐름을 벗어남 |
0 1 2 3 4 5 6 7 8 9 |
while-continue | for-continue | 결과값 |
설명 |
i = 0 while i < 100 : i += 1 if i % 2 ==0: continue print(i) |
for i in range(100): if i % 2 == 0: continue print(i) |
1 3 5 7 ...(중략) 99 |
while i < 100:으로 0부터 99까지 반복하도록 만듭니다. 그리고 i를 1씩 증가시킨 뒤 if를 사용하여 i가 짝수이면 continue를 실행합니다. 마지막으로 print를 사용하여 i의 값을 출력합니다. 이렇게 하면 i의 값에 따라 continue 아래에 있는 print를 건너뜁니다. 이제 i가 짝수이면 continue를 실행하여 print를 건너뛰고, 홀수이면 print로 숫자를 출력합니다. 즉, 반복문 안에서 continue를 실행하면 continue 아래의 코드는 실행하지 않고 건너뛴 뒤 다음 반복을 시작합니다. |
● 반복문과 pass
for, while의 반복할 코드에서 아무 일도 하지 않지만, 반복문의 형태를 유지하고 싶다면 pass를 사용하면 된다.
for i in range(10): #10번 반복 pass #아무일도 하지 않음 |
while True: #무한루프 pass #아무일도 하지 않음 |
● 입력한 횟수대로 반복하기
예 | 결과값 | 설명 |
count = int(input('반복할 횟수를 입력하세요 : ')) i = 0 while True: #무한루프 print(i) i += 1 if i == count: #입력받은 값과 같을 때 break #반복문 종료 |
반복할 횟수를 입력하세요 : 5 0 1 2 3 4 |
먼저 input으로 입력 값을 받아서 count 변수에 저장했습니다(이때 반드시 int를 사용하여 input에서 나온 문자열을 정수로 변환해줍니다). 그다음에 i에는 0을 할당하고, while에 True를 지정하여 무한 루프로 만듭니다. 반복문 안에서는 i의 값을 출력하고, 변화식에서는 i를 1씩 증가시킵니다. 그리고 i가 count의 값과 같으면 break를 실행합니다. |
예 | 결과값 | 설명 |
count = int(input('반복할 횟수를 입력하세요 : ')) for i in range(count + 1) : #0부터 증가하면서 count 까지 반복(count + 1) if i % 2 == 0 : #i를 2로 나누었을 때 나머지가 0이면 짝수 continue #아래 코드를 실행하지 않고 건너뜀 print(i) |
반복할 횟수를 입력하세요 : 9 1 3 5 7 9 |
input으로 입력 값을 받아서 count 변수에 저장했습니다(이때 반드시 int를 사용하여 input에서 나온 문자열을 정수로 변환해줍니다). 그리고 for의 range에 count + 1을 지정하여 count에 들어있는 값만큼 반복하도록 만들었습니다. 왜냐하면 range(count)는 0부터 시작하므로 count의 값은 반복에 포함되지 않기 때문입니다. 따라서 count에 1을 더해서 count의 값도 반복에 포함되도록 만들어줍니다. 반복문 안에서는 if를 사용하여 i가 짝수이면 continue를 실행합니다. 그다음에 print를 사용하여 i의 값을 출력합니다. 여기서는 9를 입력했으므로 0부터 9까지 반복하면서 i가 짝수이면 print를 실행하지 않고 건너뛰며 i가 홀수이면 print를 사용하여 숫자를 출력합니다. 따라서 1 3 5 7 9가 출력됩니다. |
● 어렵게 생각할 것 없이 break는 반복문을 끝내고, continue는 그 아래에 오는 코드를 건너뛴 뒤 계속 반복한다는 점만 기억하면 된다.
'Programming > Python' 카테고리의 다른 글
[코딩도장-파이썬] 터틀 그래픽스 (0) | 2020.11.17 |
---|---|
[코딩도장-파이썬] 중첩 루프 (0) | 2020.11.16 |
[코딩도장-파이썬] while 반복문 (0) | 2020.11.15 |
[코딩도장-파이썬] for 반복문 (0) | 2020.11.14 |
[코딩도장-파이썬] elif를 사용하여 여러 방향으로 분기하기 (0) | 2020.11.13 |