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

[파이썬] for문 안에 for문 사용법 (feat. break 명령어)

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

다음은 파이썬에서 for문 안에 for문을 사용하는 for문을 중첩하여 사용하는 법에 대해서 알아보도록 하겠습니다.

파이썬 for문 안에 for문 사용하기

 

 

for문을 중첩하여 사용하는 방법에 대해 알아보기에 앞서 for문을 처음 사용해 보시는 분이라면 아래 링크를 통해 for문의 기본 문법 사용에 대해서 알아보고 오시는 것이 이해하는데 더욱 도움이 됩니다.

 

[파이썬] for문 range(범위) 사용법

파이썬 프로그램에서 for문 사용법과 range(범위)를 함께 사용하는 방법에 대해 알아보도록 하겠습니다. for 문은 반복 작업을 쉽게 수행할 수 있게 해주는 문법입니다. 이를 통해서 좀 더 쉽게 작

gusugi.tistory.com

 

 

for문 안에 for문(중첩사용) 기본 문법

 

for문 안에 for문을 중첩하여 사용하는 기본 문법은 다음과 같습니다.

for 변수명1 in 시퀀스1:
	#변수명1과 함께 실행할 코드
    
    for 변수명2 in 시퀀스2:
		#변수명2와 함께 실행할 코드

 여기서 시퀀스1과 시퀀스2는 리스트, 범위 또는 모든 반복 가능한 객체를 의미하며, 외부 루프는 시퀀스1을 통해 반복하고 내부 루프는 시퀀스2를 통해 반복합니다.

 

시퀀스1의 하나의 값에서 내부 루프인 시퀀스 2의 모든 요소를 반복합니다. 결과적으로는 시퀀스 1과 2의 모든 값의 조합을 반복하게 되는데 설명으로 어렵게 느낄 수 있으니 아래 예시를 통해 알아보겠습니다.

 

 

for문 중첩하여 구구단 생성하기

for문을 이용하여 구구단을 생성하는 방법은 여러가지가 있지만 그 중 하나의 방법으로 for문을 중첩하여 사용하고, range를 이용해서 쉽게 구구단을 만들 수 있습니다.

for i in range(2, 10):                 # 첫번째 for문
	for j in range(1, 10):             # 두번째 for문
		print(i, '*', j, '=' i * j)

# 결과
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
...
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81

여기서 첫번째 for문은 start 부분에 2를 입력하여 2부터 시작하고, stop에 10을 입력했으므로 10 이전인 9까지 실행하게 됩니다. 

 

두번째 for문은 첫번째 for문의 시작값인 2를 1부터 9까지 반복합니다.

 

따라서 출력문을 보면 첫번째 for문의 i 값인 2, 다음으로는 문자열은 *를 출력, 두번째 for문의 j 값인 1, 문자열 =, i와 j를 곱한값을 순서대로 출력합니다.

 

그러면 2 * 1 = 2를 첫번째로 출력하게 되는 것이죠. 첫번째 for문의 i값인 2를 두번째 for문의 1에서 9까지 반복한 뒤 다음 i값인 3,4,5,... 순으로 반복 수행하게 됩니다.

 

 

목록의 숫자합 구하기

다음은 numbers라는 리스트 안에 있는 값들의 합을 구하는 방법입니다.

numbers = [1, 2, 3, 4, 5]
sum = 0

for number in numbers:
	sum += number

print(f"The sum of numbers is {sum}")

#결과
The sum of numbers is 15

먼저 리스트의 값을 하나씩 누적해서 저장해야 하는 변수가 필요하기 때문에 sum이라는 초기값을 줍니다.

 

그리고 for문을 이용하여 sum += number를 이용하여 number 리스트에 있는 값을 누적하여 합한 값을 구합니다. 여기서  +=이라는 기호를 사용하면 sum = sum + number와 같은 의미를 가집니다.

 

다양한 연산 기호에 대해서 알고 싶으시다면 다음 링크를 참고해주세요

 

[파이썬] 기초문법(2) - 기초 연산자/함수 사용

파이썬을 공부할 때 어떤 부분을 먼저 어떤 부분을 해야 하는지 고민하다가 연산자, 연산에 필요한 기초 함수 먼저 보기로 했다. 자료구조나 형태를 먼저 보는 경우도 있는데 아무것도 모르는

gusugi.tistory.com

 

sum의 초기값은 0이기 때문에 0 + 1이 sum 값이 되고 다음 반복에서는 sum이 1이 되고 두번째 리스트 값인 2를 sum과 더하는 과정을 반복하기 때문에 전체 리스트에 있는 항목들의 값을 합하는 효과를 볼 수 있습니다.

 

print 문을 보시면 따옴표 바깥쪽에 f라는 단어가 있는데 출력형식을 나타내는 방법입니다.

 

앞서 구구단을 만들 때와 마찬가지로 print("The sum of numbers is", sum)이라고 사용해도 되지만 f를 이용하여 출력하면 한번에 문자열과 {}안에 있는 변수값을 인식할 수 있습니다.

 

자세한 출력형식이 알고 싶으시다면 아래 링크를 참고해주세요.

 

[파이썬 기초] 문자열 포맷

계속 동일한 형태의 형식의 결과를 출력할 때 유용하게 사용된다. 결과를 출력하는 형식을 지정해준다고 생각하면 된다. 입력하려는 값의 형태에 맞는 적당한 포맷 코드를 입력해주어야 하며,

gusugi.tistory.com

 

 

특정조건 반복문 종료 (break 명령어)

데이터에 이상한 값이 들어왔거나 하는 경우 반복문을 조기 종료해야 하는 경우가 있는데, 이런 경우 정상적인 종료 조건이 충족되지 않더라도 반복문을 조기 종료할 수 있습니다.

 

이때 사용되는 것이 break 명령어인데 어떻게 실행되는지 예제를 통해 알아보겠습니다.

fruits = ["apple", "banana", "cherry", "date", "fig", "grape"]

for fruit in fruits:
	if fruit == "date":
		break
	print("I like", fruit)

# 결과
I like apple
I like banana
I like cherry

여기서 리스트에는 과일 이름이 들어있는데 잘못 입력된 'date'라는 데이터가 있다는 것을 볼 수 있습니다. 이렇게 date가 입력되었을 경우에는 출력을 중단하고 싶다면 if문과 break 명령어를 사용해서 중단할 수 있습니다.

 

과일 목록을 fruits라는 이름으로 주고, for문을 이용하여 목록안에 있느 각 과일을 반복하여 실행합니다. 이 때 for문 안에 if문을 보면 만약 과일의 목록이 date라면 break문을 만나 반복문을 중단하게됩니다.

 

그렇지 않다면 아래 print 문을 만나 I like '과일명'을 출력합니다.

 

따라서 결과를 보면 date가 나오기 전 I like '과일명'이 출력되고, 목록의 date가 나와 반복문을 중단했기 때문에 그 다음으로 나오는 fig와 grape는 출력되지 않은 것을 볼 수 있습니다.

 

 

if문에 대해 잘 모르신다면 아래 링크를 참고해주세요.

 

[파이썬] 조건문 if, elif, else 문, 조건이 여러개인 경우

파이썬 프로그램의 조건문으로 if, elif, else 문, 조건이 여러개인 경우 등 예시를 통해 알아보도록 하겠습니다. 조건문이란 조건문이란 제어 구조라고도 알려졌으며 기초적인 문법을 조금 숙지했

gusugi.tistory.com

 

 

[파이썬 데이터분석] 제어문 - IF문 (if, else, elif), in

제어문 중 조건문을 수행하는 if문 지금까지 데이터 형태와 해당 데이터 형태 내에서 값을 변환하는 방법을 배웠다면 이번에는 제어문 중 하나인 if문에 대해서 알아볼 텐데 if문은 조건에 따라

gusugi.tistory.com

728x90
반응형

댓글