더북(TheBook)

숫자 2개를 받아 곱해야 하므로 매개변수도 2개가 필요합니다. 매개변수는 num1, num2를 사용합니다. 문제를 내고 사용자로부터 입력받은 값이 정답인 경우와 오답인 경우를 if-else로 나누어 작성합니다. 원래 코드와 달리 변수 a, b가 매개변수 num1, num2로 변경됐으므로 이 부분을 알맞게 변경해야 합니다. 그리고 정답과 오답 여부를 함수 외부에 알려 줘야 하므로 정답일 경우 0을, 오답일 경우 -1을 반환합니다.

TIP 프로그래밍에서는 관습적으로 return 0은 정상 종료, return -1은 오류라는 의미로 사용합니다.

앞에서 작성한 gugudan() 함수를 호출해 구구단 게임을 완성합시다. 원래 코드를 참고해 프로그램을 작성합니다.

import random

def gugudan(num1, num2):
    answer = int(input(str(num1) + 'x' + str(num2) + '? '))

    if answer == num1 * num2:
        return 0
    else:
        print('땡! 정답은', num1 * num2)
        return -1

print('구구단을 외자! 구구단을 외자!')
for i in range(20):
    a, b = random.randint(2, 9), random.randint(1, 9)
    if gugudan(a, b) != 0:
        break
실행결과
구구단을 외자! 구구단을 외자!
6x3? 18
2x2? 4
9x6? 4
땡! 정답은 54
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.