숫자 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