프로그램 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
표를 만든다. i
를 j
로 나눌 수 있거나, j
를 i
로 나눌 수 있으면 i
행 j
열에 별표를 출력한다. 이 프로그램은 내포된 for
루프를 사용하며, 루프 제어 변수 i
와 j
가 계산을 제어한다.
% 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일 때의 추적