Итак, я сразу же думаю, что «возможные» не имеют значения, если только это не переменная, которую вы определили ранее. Мои мысли:
Ваша функция possibles_compile () должна возвращать значение, которое вы хотите завершить. Вне функции вы определяете свою переменную и устанавливаете ее равной возвращаемому значению. Итак:
possibles = compile_possibles ()
Тогда все, что вы хотите напечатать, будет возвращено в конце функции. Примерно так:
return result
Тогда для переменной possibles, определенной вне функции, будет установлено значение «result», которое является просто произвольным именем переменной, которое я придумал для этого. Затем просто распечатайте его.
ИЛИ
Вы определяете возможные, а затем передаете их в функцию compile_possibles () в качестве аргумента, что означает, что это будет:
def compile_possibles (possibles):
Тогда ваша возможная переменная будет изменена внутри функции, и вы сможете распечатать ее и получить желаемый результат. Сообщите мне, работает ли что-то из этого для вас.
EDIT: Извините, я не видел верхней части вашего сообщения, где вы определили возможные варианты. Я бы по-прежнему придерживался своих предыдущих предложений: просто сказать possibles = compile_possibles (), а затем определить список в функции, которую вы хотите вернуть, и установить переменную possibles.
Если вы работаете с классами и его просто нет в коде здесь, возможно, вам придется ссылаться на свои классы и переменные, используя self, поэтому self.possibles.append () или self.compile_possibles ()