В приложении Tkinter проверить добавление значений в список

Делаю приложение на Tkinter. Это игра. Она заключается в следующем: пользователь задает любые вопросы и получает случайно выбранные ответы из имеющегося списка. Одна из функций, которую пытаюсь реализовать, "обучение" движка игры. Пользователь должен иметь возможность занести в исходный список свои значения ответов.

Ради этого написал функцию, и возникли 2 вопроса: 1) действительно ли она реализует задуманный функционал? 2) если новый вариант ответа, как и хотели, добавляется, то делается это так сказать глобально и работает для всех сессий либо же локально, и обновления движок "забудет", как только пользователь закроет окно игры?

Код функции для "обучения" движка:

import tkinter as tk

window = tk.Tk()

# создадим рамку, которая формирует область с дообучением модели новыми вариантами ответов 
# (производится ручным способом)
frame_training = tk.Frame(
    master=window, 
    relief=tk.RIDGE, 
    borderwidth=5
)
# добавим второй фрейм в первый "обучающий" фрейм                                  
frame_training_text_with_scroll = tk.Frame(   
    master=frame_training
)
# данная область предназначена для внесения новых вариантов ответов            
# текстовую область расположили внутри фрйема скролинга
text_box_train = tk.Text(
    master=frame_training_text_with_scroll,                                         
    width=90, 
    height=5, 
    bg='#EBF1F2',
    fg='black'
)
# создадим элемент кнопки Обучить шар 
button_train = tk.Button(
    master=frame_training,
    text='Обучить шар',
    width=15,
    height=2,
    bg='#B533FF',
    fg='yellow',
    activebackground='#C4B1C3'
)
# создадим элемент кнопки Очистить (для обучения шара) 
button_train_clear = tk.Button(
    master=frame_training,
    text='Очистить',
    width=15,
    height=2,
    bg='#B533FF',
    fg='yellow',
    activebackground='#C4B1C3'
)
frame_training.grid(
    row=1, column=0, 
    columnspan=2,
    sticky='e'                            
) 
text_box_train.grid(
    row=0, column=0,                          
    sticky='news'
)
button_train.grid(
    row=2, column=0, sticky='ew'
)
button_train_clear.grid(
    row=2, column=1, sticky='ew'
)
# привязываем команду "обучения" шара к кнопке
button_train.bind('<Button>', train_sphere)

# привязываем команду очистки поля "обучения" шара к кнопке
button_train_clear.bind('<Button>', clearTextTrain)

# функция "обучения" 
def train_sphere(event):
    responses = ['Да', 'Нет', 'Скорее всего да', 'Скорее всего нет', 'Возможно', 'Имеются перспективы', 'Вопрос задан неверно']
    new_res = text_box_train.get('1.0', tk.END)  # читаем текст с новым вариантом ответа из виджета text_box_train
    window.update_idletasks()
    if not new_res.strip():
        text_box_train.insert(tk.END, 'Добавьте вариант ответа\n') 
    else:
        responses.append(new_res)
        time.sleep(2)
        text_box_train.insert(tk.END, '\nНовый вариант ответа теперь в программе' + '\n')
    
# функция очистки поля добавляемых вариантов ответа 
def clearTextTrain(event):
    time.sleep(1)
    text_box_train.delete('1.0','end')

window.mainloop()

Ответы (0 шт):