Сначала я бы определил
text_number1 = tk.StringVar()
text_number2 = tk.StringVar()
sum_of_num = 0
Затем я бы изменил функцию startgame на
def startgame():
global sum_of_num
number1 = random.randint(10, 51)
text_number1.set(str(number1))
number2 = random.randint(10, 51)
text_number2.set(str(number2))
sum_of_num = number1 + number2
И пометил бы соответственно
label_num1 = tk.Label(window, textvar = text_number1, fg = "blue").pack()
label_num2 = tk.Label(window, textvar = text_number2, fg = "blue").pack()
Следующее, что вам нужно, это вашкнопка сброса
button_to_check_reset = tk.Button(window, text="Reset your question", fg = "red", command = new_question).pack()
И последняя, но не менее важная функция new_question
def new_question()
startgame()
sum_of_numbers.delete(0, 'end')
, что является минимумом.
Но если вы хотите иметь программу, которая не будетс появившимися и устаревшими метками, вам нужно добавить еще один stringvar к инициализации, например,
answer_string = StringVar()
answer_string.set("Waiting for your answer")
, чем поставить метку справа сразу после других меток
answer_lable = tk.Label(window, textvar = answer_string, fg = "blue").pack()
Затем вам нужно реформировать функцию результата проверки
def checkresult():
i = int(content.get())
if i == sum_of_num:
answer_lable['fg'] ="green"
answer_string.set("Correct, that was not hard right?")
else:
answer_lable['fg'] ="red"
answer_string.set("Wrong, you moron")
И небольшая модификация функции newquestion:
def new_question()
startgame()
sum_of_numbers.delete(0, 'end')
answer_lable['fg'] ="blue"
answer_string.set("Waiting for your answer...")
Надеюсь, что это поможет и удачи:)