1 * 1 = 1
1 * 2 = 2
...
9 * 9 = 81
와 같은 구구단을 출력하기 위한 프로그램을 만들 때 중첩 while문을 쓸 수 있는데,
|
1
2
3
4
5
6
7
|
i = 1
j = 1
while i <= 9 :
while j <= 9 :
print("{} * {} = {}".format(i, j, i*j))
j += 1
i += 1
|
cs |
이렇게 하면

사진과 같이 1단에서 끝나버린다.
위 코드에서는, 1단이 끝날 때 j값은 9가되고 어떠한 변화도 없이 9로 유지가 되므로 더이상의 진행이 되지 않는 것이다. 안에 들어가 있는 while문의 조건 'j <= 9'를 만족하지 않기 때문이다. 따라서,
|
1
2
3
4
5
6
7
8
|
i = 1
while i <= 9 :
j = 1
while j <= 9 :
print("{} * {} = {}".format(i, j, i*j))
j += 1
i += 1
|
cs |
와 같이 j값이 다시 1이 될 수 있도록 안에 들어간 while문에 'j = 1'을 추가해주면, 구구단의 9단까지 정상적으로 출력되는 것을 알 수 있다.
|
1
2
3
4
5
6
7
8
9
|
i = 1
j = 1
while i <= 9 :
while j <= 9 :
print("{} * {} = {}".format(i, j, i*j))
j += 1
j = 1
i += 1
|
cs |
처음 코드에서 크게 수정하지 않고, 이렇게도 할 수 있다.
'배운 것 > Python' 카테고리의 다른 글
| [기초 문법] 리스트 뒤집기(for 문) (0) | 2022.01.07 |
|---|---|
| [기초 문법] 함수 속 변수 정의 (0) | 2022.01.07 |
| [기초 문법] 피보나치 수열(임시 저장소 'temp' 변수 설정) (0) | 2022.01.04 |
| [기초 문법] 거스름돈 계산기 (함수) (0) | 2022.01.02 |
| [기초 문법] 변수의 범위(scope) (0) | 2022.01.02 |