덧셈 대신 곱셈 결과를 얻으려면 +=를 *=로 바꾸면 됩니다. 3장에서 배웠듯이 result *= i는 result = result * i를 줄여 쓴 표현입니다. 그런데 결과가 이렇게 긴 숫자가 아니라 0이 나올 수도 있습니다. 무엇이 문제일까요? 첫 번째 줄의 result = 0을 result = 1로 바꾸지 않아서 그렇습니다. result의 초깃값이 0이면 어떤 숫자를 곱해도 계속 0이 됩니다. 그래서 이때는 초깃값을 1로 해야 합니다. 덧셈에서 0이 결괏값에 영향을 미치지 않는 숫자라면 곱셈에서는 1이 결괏값에 영향을 미치지 않는 숫자입니다.
구구단 출력하기
곱셈 코드를 배웠으니 숫자 하나를 입력받아 구구단을 출력하는 프로그램을 만들어 봅시다. 예를 들어, 4를 입력받으면 4단을 출력하면 됩니다. 구조를 생각해 봅시다. 일단 숫자를 입력받아야 합니다. 그리고 입력받은 값에 1부터 9까지 곱해서 결과로 ‘4 × 1 = 4, 4 × 2 = 8 ... 4 × 9 = 36’을 출력해야 합니다. 반복되는 부분은 어딘가요? 입력받은 숫자를 곱하는 부분으로, 4× ○ = ○ 형태로 표현할 수 있습니다. 반복 구간은 뭘까요? 1부터 9까지입니다.
구조를 고려해 반복문을 작성해 봅시다.
num = int(input('몇 단을 외울까요? '))
for i in range(1, 10):
print(num, 'x', i, '=', num * i)
실행결과
몇 단을 외울까요? 4
4 x 1 = 4
4 x 2 = 8
4 x 3 = 12
4 x 4 = 16
4 x 5 = 20
4 x 6 = 24
4 x 7 = 28
4 x 8 = 32
4 x 9 = 36