Диалог с пользователем

Попросить у пользователя ввести строку можно функцией ask()

def hello(n):
    message("Привет, %s!" % n)
def fail():
    alert("Оператор отказывается отвечать!")
ask("Как вас зовут?", hello, fail)
ask("Как вас зовут?", hello, fail, 60, "Василий")

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

Попросить выбрать один из нескольких вариантов можно функцией question()

def yes(): message(1)
def no(): message(2)
def dont_know(): message(3)
def other(): message(4)
question("Давно ли вы перестали пить коньяк по утрам?",
    "Да", yes,
    "Нет", no,
    "Не знаю", dont_know,
    "Другое", other,
	60)

Кнопок в диалоге может быть несколько. Первая кнопка является кнопкой по умолчанию, то есть выбирается если нажать "Enter". Можно указать таймаут, после которого также автоматически выбирается первый вариант.

Подсказка

Более развёрнутый пример диалога с пользователем можно увидеть в скрипте tov_general, загрузив его во встроенный редактор скриптов.