더북(TheBook)

13.1.4 사용자 정의 함수로 프로그램 재구성하기

이번에는 앞에서 만든 프로그램을 함수를 활용한 방식으로 수정해 보겠습니다. 다음은 5장에서 break를 배울 때 작성한 구구단 게임입니다.

import random

print('구구단을 외자! 구구단을 외자!')
for i in range(20):
    a, b = random.randint(2, 9), random.randint(1, 9)
    answer = int(input(str(a) + 'x' + str(b) + '? '))

    if answer != a * b:
        print('땡! 정답은', a * b)
        break

함수를 활용해 프로그램을 재작성해 봅시다. 우선 함수로 묶을 부분을 정해야 합니다. 문제를 내고 정답을 입력받아 오답 여부를 반환하는 부분을 함수로 작성해 봅시다. 함수명은 gugudan()으로 하겠습니다. 숫자 2개는 함수를 호출할 때 인자로 받게 합니다.

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
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.