Post

Jungol 반복제어문3 형성평가 10번

문제

자연수 n을 입력받아 각 문제의 출력예와 같이 출력되는 프로그램을 작성하시오.

1
2
3
4
5
    입력            출력

    3               1 3 5
                    7 9 1
                    3 5 7

정답 코드

1
2
3
4
5
6
7
8
    n = 3

    num = -1
    for i in range(n):
        for j in range(n):
           num = (num + 2) % 10
          print(num, end=' ')
     print()

풀이

1
    for i in range(n):

외부 for문은 몇 행까지 출력해서 보여줄지를 결정한다. n이 3이기 때문에 0, 1, 2으로 3개의 행 까지만 반복하게 될 것이다.

1
    for j in range(n):

내부 for문이다. 이 부분은 앞으로 출력될 값을 한 행에 몇 개까지 보여줄지를 결정하는 부분이다. n이 3이니 외부 for문과 마찬가지로 3개까지 보여주게 될 것이다.

1
    num = (num + 2) % 10

num 값을 -1로 초기화시켜 놓았기 때문에 첫 num은 1이 될 것이다. 그리고 2씩 증가하여 10 이하의 홀수 값만 출력되게 된다.

1
    print(num, end=' ')

1, 3, 5, 7, 9, 1, 3, 5, 7, 9, …를 한 칸의 공백으로 나누어 출력하는 부분이다.

1
2
3
4
5
    for i in range(n):
        for j in range(n):
            num = (num + 2) % 10
            print(num, end=' ')
    print() 

내부 for문이 종료되면 print() 함수가 호출되어서 줄 바꿈을 해준다.

결과적으로 3 X 3 크기의 행렬이 출력되고 그 안의 요소는 10이하의 홀수가 된다.

This post is licensed under CC BY 4.0 by the author.