앞에서 작성한 구구단 프로그램에서 창 크기를 추가하고, 정답을 보여 주는 레이블 대신 콤보박스를 추가했습니다.
버튼을 클릭할 때 실행되는 새로운 이벤트를 작성해 보겠습니다. [새로운 문제] 버튼을 클릭하면 make_question() 함수가 실행됩니다. 이때 구구단 문제를 무작위로 만들면서 동시에 콤보박스에 넣을 5개의 숫자도 만들어야 합니다. selection에는 정답 1개와 오답 4개가 필요합니다. 그리고 정답이 항상 같은 위치에 있으면 안 되겠죠? 정답 위치도 무작위로 결정돼야 합니다.
문제를 만드는 부분은 기존 코드를 그대로 사용하고 selection 부분만 추가하면 됩니다. [새로운 문제] 버튼을 클릭할 때마다 선택지 selection을 초기화해야 합니다. 이전 문제의 선택지를 비워야 하기 때문이죠. 그리고 오답으로 제시할 무작위 숫자 4개를 selection에 추가해야 하고요. 오답은 구구단 결괏값 중 가장 작은 숫자인 2부터 가장 큰 숫자인 81까지 중에서 4개를 무작위로 넣겠습니다.
import random
# ----- 프로그램 기능 부분 -----
num1, num2 = 0, 0
def make_question():
global num1, num2
# 문제 만들기
num1, num2 = random.randint(2, 9), random.randint(1, 9)
question.set(str(num1) + 'x' + str(num2) + '? ')
# 선택지 초기화하고 새로 만들기
selection = []
for i in range(4):
selection.append(random.randint(2, 81))