앞의 구구단 프로그램에서 [정답 확인] 버튼을 클릭했을 때 check_answer() 함수가 실행되게 합니다. check_answer() 함수에서는 선택한 값이 정답이면 ‘정답입니다!’를, 정답이 아닐 때는 ‘다시 한번 풀어 보세요.’를 메시지박스로 표시합니다. 전체 코드를 작성해 봅시다.

    from tkinter import *
    from tkinter.ttk import *
    from tkinter.messagebox import *
    import random
    
    # ----- 프로그램 기능 부분 -----
    # 전역변수
    num1, num2 = 0, 0
    selection = [] # 전역변수로 위치 이동
    
    def make_question():
        global num1, num2
        # 문제 만들기
        num1, num2 = random.randint(2, 9), random.randint(1, 9)
        question.set(str(num1) + 'x' + str(num2) + '? ')
    
        # 선택지 만들기
        for i in range(4):
            selection.append(random.randint(2, 81))
        idx = random.randint(0, 4)
        selection.insert(idx, num1 * num2)
        a_combo['values'] = selection
    
    def check_answer():
        if int(a_combo.get()) == num1 * num2:
            showinfo(title='정답 확인!', message='정답입니다.')
        else:
            showerror(title='정답 확인!', message='다시 한번 풀어 보세요!')
    
    # ----- 프로그램 화면 부분 -----
    root = Tk()
    root.title('구구단')
    root.geometry('400x200')
    question = StringVar()
    q_lbl = Label(root, textvariable=question, width=30, anchor='center')
    q_lbl.grid(row=0, column=0)
    q_btn = Button(root, text='새로운 문제', width=10, command=make_question)
    
    q_btn.grid(row=0, column=1)
    a_combo = Combobox(root, values=selection, width=30)
    a_combo.grid(row=1, column=0)
    a_btn = Button(root, text='정답 확인', width=10, command=check_answer)
    a_btn.grid(row=1, column=1)
    
    root.mainloop()
    실행결과
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.