while문을 사용해서 구구단 프로그램을 만들어 봅시다. 실행하면 아래와 같은 결과물이 출력되어야 합니다.
1 * 1 = 1
1 * 2 = 2
1 * 3 = 3
.
.
.
9 * 7 = 63
9 * 8 = 72
9 * 9 = 81
참고로 이 문제는 '중첩 while문'이라는 개념을 사용해야 하는데요. 중첩 while문은 while문의 수행 부분 안에 또 다른 while문을 넣는 것을 이야기 합니다. 제가 특별히 설명드리지 않은 개념이지만, 조금 고민하다 보면 여러분이 직접 알아내실 수도 있습니다. 도저히 생각이 안 난다면 힌트를 참고해 주세요!
과제 해설
중첩 while문이라는 개념이 조금 어렵게 느껴지죠? 그럼 우선 while문 하나만 사용해서, 1 * 1 = 1부터 1 * 9 = 9까지 1단만 출력해 봅시다.
j = 1
while j <= 9:
print("1 * {} = {}".format(j, 1 * j))
j += 1
여기서 조금 발전시키면 1단부터 9단까지 할 수 있는데요. 아래 코드를 보세요.
print("{} * {} = {}".format(1, j, 1 * j))
지금은 1단이기 때문에 그냥 1로 고정되어 있는 부분들이 있습니다. 1단부터 9단까지 하기 위해서는 고정된 1이 아니라 바뀌는 변수를 넣어 줘야겠죠? 이걸 하기 위해 또 다른 while문으로 감싸면 되는 것입니다!
모범 답안
i = 1
while i <= 9:
j = 1
while j <= 9:
print("{} * {} = {}".format(i, j, i * j))
j += 1
i += 1
'교육 > [Codeit] 프로그래밍 기초 in Python' 카테고리의 다른 글
리스트(list) (0) | 2020.11.14 |
---|---|
제어문 꿀팁 (0) | 2020.11.14 |
피보나치 수열(Fibonacci Sequence) (0) | 2020.11.13 |
실습문제 약수찾기, 이자 구하기 (0) | 2020.11.11 |
if문 개념, 문법 / elif문 / 학점계산기 실습문제 (0) | 2020.11.10 |