[python] 중첩 루프 사용하기

anjiyoo·2024년 3월 6일

Python

목록 보기
12/41
post-thumbnail

1.중첩 루프 사용하기

  • 반복문 안에 반복문이 들어 있는 형태
  • 루프 인덱스 변수는 i부터 순서대로 지음
  • 중첩 루프는 2차원 평면(가로x세로)을 다룰 수 있어서 이미지 처리, 영상 처리, 좌표계 처리 등에 주로 쓰임

📍for, while 다음에 오는 코드는 반드시 들여쓰기를 해야하고 깊이가 같아야 함.

for i in range(횟수):      # 바깥쪽 루프
	for j in range(횟수):  # 안쪽 루프
    	가로 처리 코드
    세로 처리 코드
for i in range(5):                     # 5번 반복. 바깥쪽 루프는 세로 방향
	for j in range(5):                 # 5번 반복. 안쪽 루프는 가로 방향
    	print('j:', j, sep='', end='') # j값 출력
                                       # end에 ' '를 지정하여 줄바꿈 대신 한 칸 띄움
    print('i:', i, '\\n', sep='')      # i값 출력, 개행 문자 모양도 출력
                                       # 가로 방향으로 숫자를 모두 출력한 뒤 다음 줄로 넘어감
                                       # (print는 기본적으로 출력 후 다음 줄로 넘어감)

2.사각형으로 별 출력하기

for i in range(5):         # 5번 반복. 바깥쪽 루프는 세로 방향
	for j in range(5):     # 5번 반복. 안쪽 루프는 가로 방향
    	print('*', end='') # 별 출력. end에 ''를 지정하여 줄바꿈을 하지 않음
    print()                # 가로 방향으로 별을 다 그린 뒤 다음 줄로 넘어감
                           # (print는 출력 후 기본적으로 다음 줄로 넘어감)


3.사각형 모양 바꾸기

# 3*6 * 문자 출력하기
for i in range(3):           # 3번 반복. 세로 방향
	for j in range(7):       # 7번 반복. 가로 방향
    	print('*', end='')   # 별 출력. end에 ''를 지정하여 줄바꿈을 하지 않음
    print()                  # 가로 방향으로 별을 다 그린 뒤 다음 줄로 넘어감
                             # (print는 출력 후 기본적으로 다음 줄로 넘어감)

4.계단식으로 별 출력하기

for i in range(5):               # 0부터 4까지 5번 반복. 세로 방향
	for j in range(5):           # 0부터 4까지 5번 반복. 가로 방향
    	if j <= i:               # 세로 방향 변수 i만큼
    		print('*', end='')   # 별 출력. end에 ''를 지정하여 줄바꿈을 하지 않음
    print()                      # 가로 방향으로 별을 다 그린 뒤 다음 줄로 넘어감
                                 # (print는 출력 후 기본적으로 다음 줄로 넘어감)

5.대각선으로 별 출력하기

# IDLE이나 콘솔에서는 문자를 출력하지 않으면 다음 문자는 현재 위치에 출력되므로 모두 왼쪽으로 몰린다
for i in range(5):               # 0부터 4까지 5번 반복. 세로 방향
	for j in range(5):           # 0부터 4까지 5번 반복. 가로 방향
    	if j == i:               # 세로 방향 변수와 같을 때
    		print('*', end='')   # 별 출력. end에 ''를 지정하여 줄바꿈을 하지 않음
        else:                    # 세로 방향 변수와 다를 때
        	print(' ', end='')   # 공백 출력. end에 ''를 지정하여 줄바꿈을 하지 않음
    print()                      # 가로 방향으로 별을 다 그린 뒤 다음 줄로 넘어감
                                 # (print는 출력 후 기본적으로 다음 줄로 넘어감)
profile
기록으로 흔적을 남기는 것을 좋아합니다

0개의 댓글