Python | 중첩 루프 사용하여 별 만들기

지현·2021년 1월 7일
0

Python

목록 보기
1/9
post-custom-banner

목표: 계단식 별 출력하기

*
**
***
****
*****

중첩루프

반복문 안에 반복문이 들어가는 형태를 중첩 루프(다중 루프)라고 한다.
반복문의 루프 인덱스 변수는 index의 첫 글자를 따서 i를 사용하는데, 반복문 안에 반복문이 들어갈 때는 변수 이름을 i, j, k처럼 i부터 알파벳 순서대로 짓는다.

중첩루프 예시
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는 기본적으로 출력 후 다음 줄로 넘어간다.)
j:0 j:1 j:2 j:3 j:4 i:0\n
j:0 j:1 j:2 j:3 j:4 i:1\n
j:0 j:1 j:2 j:3 j:4 i:2\n
j:0 j:1 j:2 j:3 j:4 i:3\n
j:0 j:1 j:2 j:3 j:4 i:4\n

사각형으로 별 출력

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

계단식으로 별 출력

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

대각선으로 별 출력

    for j in range(5):    # 0부터 7까지 8번 반복. 가로 방향
        if j == i:                # 세로 방향 변수와 같을 때
            print('*', end='')    # 별 출력. end에 ''를 지정하여 줄바꿈을 하지 않음
        else:                     # 세로 방향 변수와 다를 때
            print(' ', end='')    # 공백 출력. end에 ''를 지정하여 줄바꿈을 하지 않
    print()    # 가로 방향으로 별을 다 그린 뒤 다음 줄로 넘어감
               # (print는 출력 후 기본적으로 다음 줄로 넘어감)
*
 *
  *
   *
    *
post-custom-banner

1개의 댓글

comment-user-thumbnail
2021년 1월 8일

첫 게시물 축하드립니다.

답글 달기