Escopo de variáveis
Em programas reais, variáveis globais são usadas para compartilhar estado entre funções, como um contador de requisições ou uma configuração de aplicativo. Sem entender escopo, você pode modificar acidentalmente uma variável local pensando ser a global, gerando bugs difíceis de rastrear. Dominar o uso de global evita esses erros e mantém o código previsível.
O PROBLEMA
Use variável global, modifique dentro de função com global.
SOBRE O CONCEITO
Quando você cria uma variável fora de qualquer função, ela tem escopo global. Dentro de uma função, atribuir um valor a uma variável com o mesmo nome cria uma nova variável local, a menos que você use a palavra-chave global. O erro comum é tentar modificar a variável global sem declarar global — por exemplo, contador += 1 dentro da função cria uma variável local contador, enquanto a global permanece inalterada. Para modificar a global, você deve escrever global contador antes de usá-la. Isso porque o Python trata atribuições dentro de funções como declarações de variáveis locais por padrão, protegendo o escopo externo de alterações acidentais.
RESOLUÇÃO