본문 바로가기
방구석코딩/파이썬 기초문법

[파이썬] break 문의 사용법

by 석세상 2023. 11. 27.
반응형

파이썬 프로그래밍에서 break 문의 사용법에 대해 알아보겠습니다. break문은 반복문에 주로 많이 사용되는데요. 어떻게 잘 활용할 수 있는지 예제를 통해 배워볼까요?

파이썬 break문 뜯어보기

 

 

break 문이란

break 문은 파이썬에서 반복문을 조기 종료할 수 있는 제어문입니다. break문은 정상적인 반복 조건이 충족되기 전에 반복문의 실행을 종료하기 위해 사용되어집니다.

 

 

break문은 어디서 유용하게 사용될까

 

break문은 일반적으로 for문이나 while문과 같이 반복문 내에서 함께 사용되며, 반복문의 코드 블록 내 어느곳에서 배치하여 사용할 수 있습니다.

 

 

break의 작동원리

반복문에서 break문이 발견되면 반복문은 즉시 루프를 종료하고 반복문 다음 문장으로 넘어가 실행됩니다. 이 작업은 반복문의 자연 종료 조건이 충족하지 않더라도 종료시킬 수 있습니다.

while condition:
	# Loop code
	if some_condition:
		break # Exit the loop

이 예제에서는 조건이 참인진에 관계없이 some_condition이 충족되는 조건으로 넘어가게 되면, break문이 작동하게 됩니다.

 

break문 예제

반복문의 조기 종료를 위한 기본적인 예를 들어보겠습니다. 목록에서 첫번째 짝수를 찾고자 할 때 검색을 중단하겠다고 가정해보겠습니다.

numbers = [1, 3, 6, 7, 10, 11]

for number in numbers:
	if number % 2 == 0:
		print(f"Found the first even number: {number}")
		break

위의 경우 numbers변수에 있는 1, 3, 6, 7, 10, 11짝수인 6이 발견되는 즉시 반복문이 중단되어 불필요한 반복문이 방지됩니다. 

 

중첩된 루프 종료

break문은 중첩 루프에서 특히 유용하게 사용할 수 있습니다. grid 변수 내에서 특정 대상 값을 찾고자 하기 위한 방법입니다.

grid = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]

target = 5

for row in range(len(grid)):
	for col in range(len(grid[row])):
		if grid[row][col] == target:
			print(f"Target {target} found at row {row}, column {col}")
			break # Exit the inner loop
	else:
		continue # Continue to the next iteration of the outer loop
	break # Exit the outer loop
    
    
 #결과
 Target 5 found at row 1, column 1

코드가 조금 길어졌지만 grid 변수는 목록안에 목록이 들어가 있는 형태입니다. target값은 5이며, 결국 5가 어디에 위치에 있는지 찾기 위한 방법이라고 보시면 됩니다.

 

하나씩 차근차근 살펴보자면 'for row in range(len(grid)):'는 for문 안에서 반복할 범위를 지정하는 것인데, range로 범위를 지정할 수 있습니다.

 

이 때 len 함수를 이용하여 grid 안에 있는 요소의 수를 체크합니다. grid는 3개의 목록으로 된 요소를 가지고 있기 때문에 range는 3이 됩니다.

 

여기서 range가 3이라는 것은 0, 1, 2 순으로 반복하며 실행한다는 것입니다. range의 작동원리에 대해 궁금하시다면 아래 링크를 참고해주시면 됩니다.

 

[파이썬] range 함수, 범위, 역순, 매개변수, 사용자지정

파이썬 range 함수, 범위, 역순, 매개변수, 사용자지정에 대해 알아보도록 하겠습니다. 파이썬 range 함수 range() 함수는 일련의 숫자를 생성하는 도구로, 루프 생성, 요소 반복 등에 매우 유용합니다

gusugi.tistory.com

다음 for문인 'for col in range(len(grid[row])):'를 보면 앞의 for문에서 row 값을 받아와 다음 문장을 실행합니다. 

 

주의할 점은 len의 숫자를 세는 체계와 range의 숫자를 세는 체계가 다르기 때문에 유념하여 사용해야 합니다.

 

파이썬에서 숫자를 세는 체계에 대해 이해가 필요하다면 앞의 range 링크와 아래 부분의 len 함수, 인덱싱과 슬라이싱에 대해 참고하시면 좀 더 정확하게 알 수 있습니다.

 

여기서 요점은 몇개인지 세는지와 몇번째 위치해 있는지에 대한 차이를 이해하는 것이 필요합니다.

 

파이썬 len 내장함수 사용법

파이썬 len 내장함수 사용법에 대해서 알아보겠습니다. 파이썬 len 함수 파이썬 len() 함수를 사용하면 문자열, 목록, 튜플, 사전 및 집합을 포함하여 Python의 다양한 데이터 구조의 길이 또는 크기

gusugi.tistory.com

 

 

[파이썬 기초] 문자열의 인덱싱과 슬라이싱

인덱싱과 슬라이싱은 크게보면 다 슬라이싱이라고 볼 수 있다. 슬라이싱은 어디서부터 어디까지 잘라낸다는 의미인데 인덱싱은 특정한 하나만 가리키는 범위이다. 두 개의 개념은 아래 예제를

gusugi.tistory.com

이어서 진행해보자면 if문에서 gird의 리스트 값이 taget 5와 같은 값이 위치한 곳을 찾게 되는데요. 만약 grid안의 값이 taget 5와 같다면 target 5의 값이 위치한 row와 col을 출력하고, break문을 만나 반복문을 멈추게 됩니다.

 

만약 같지 않다면 contiue문을 만나 계속 반복문을 실행하게 되고, 맨 마지막에 있는 break문은 첫번째의 for문을 멈추게 하는 명령어 입니다.

 

따라서 결과값은  "Target 5 found at row 1, column 1" 로 출력되면 0,1,2 로 위치를 표현하기 때문에 2번째 행의 2번째 열은 row = 1, column = 1로 출력됩니다. 

728x90
반응형

댓글