На этот вопрос уже есть ответ: Разве recurse () не должен иметь доступ к переменным родительской функции?
recurse ()
Может ли кто-нибудь объяснить мне, чего мне не хватает в области видимости переменных Python?