from tkinter import *
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) + '? ')
def check_answer():
answer.set(num1 * num2)
# ----- 프로그램 화면 부분 -----
…
q_btn = Button(root, text='새로운 문제', width=10, command=make_question)
q_btn.grid(row=0, column=1)
a_btn = Button(root, text='정답 확인', width=10, command=check_answer)
a_btn.grid(row=1, column=1)
…
실행결과
[새로운 문제] 버튼을 클릭하면 문제가 출제되고 [정답 확인] 버튼을 클릭하면 문제에 맞는 답이 나옵니다. 정상적으로 실행되지 않는다면 버튼에 command로 함수를 연결했는지 확인해 보세요. [새로운 문제] 버튼을 계속 클릭해서 이전과는 다른 문제가 출제되는지, [정답 확인] 버튼을 클릭하면 정답이 제대로 나오는지 확인해 보세요.
이처럼 버튼은 사용자 정의 함수와 동적변수를 적절히 활용해 다양한 기능을 구현할 수 있습니다.