더북(TheBook)

프로그램 1.3.4 처음 접하는 내포된 루프 (divisorpattern.py)

import sys
import stdio
 
n = int(sys.argv[1])
 
for i in range(1, n+1):
    # i번째 줄을 출력한다.
    for j in range(1, n+1):
        # i번째 줄에서 j번째 항목을 출력한다.
        if (i % j == 0) or (j % i == 0):
            stdio.write('* ')
        else:
            stdio.write(' ')
    stdio.writeln(i)
n
i
j
행과 열 수
행 인덱스
열 인덱스

이 프로그램은 명령 줄 인수로 정수 n을 입력받아 n x n 표를 만든다. ij로 나눌 수 있거나, ji로 나눌 수 있으면 ij열에 별표를 출력한다. 이 프로그램은 내포된 for 루프를 사용하며, 루프 제어 변수 ij가 계산을 제어한다.

% python3 divisorpattern.py 3 
* * *  1 
* *    2 
*   *  3 
 
% python3 divisorpattern.py 16 
* * * * * * * * * * * * * * * * 1 
* *   *   *   *   *   *   *   * 2 
*   *     *     *     *     *   3 
* *   *       *       *       * 4 
*       *         *         *   5 
* * *     *           *         6 
*           *             *     7 
* *   *       *               * 8 
*   *           *               9 
* *     *         *             10 
*                   *           11 
* * * *   *           *         12 
*                       *       13 
* *         *             *     14 
*   *   *                   *   15 
* *   *       *               * 16

i

j

i % j

j % i

출력

1
1
1


2
2
2


3
3
3
1
2
3


1
2
3


1
2
3
0
1
1


0
0
2


0
1
0
0
0
0


1
0
1


1
2
0
*
*
*
1

*
*

2

*

*
3

n이 3일 때의 추적

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.