Module: (Python) Sub-rotinas: Procedimentos e Funções - 1


Problem

9 /11


Variáveis ​​locais e globais

Theory Click to read/hide

Variáveis ​​locais e globais

Variáveis ​​que são introduzidas no programa principal são chamadas globais (ou compartilhadas).

Você pode acessar variáveis ​​globais de qualquer sub-rotina. 

Muitas vezes é necessário introduzir variáveis ​​adicionais que serão utilizadas apenas na sub-rotina. Tais variáveis ​​são chamadas locais (ou locais). Você pode trabalhar com eles somente dentro da sub-rotina na qual eles são criados. O resto das rotinas não "sabem" nada sobre elas.

Assim, é possível limitar o escopo (scope) de uma variável apenas à sub-rotina onde ela é realmente necessária. Na programação, essa técnica é chamada de encapsulamento  - ocultar a variável de ser alterada de fora.

Analise três programas:
Descrição Programa
1) Neste programa, a variável i é local. Se não houver variável i no programa principal, obteremos uma mensagem de erro. E se houver tal variável (então é uma variável global), então seu valor é exibido na tela. def teste(): imprimir(i)
2) Aqui, mesmo que exista uma variável global i, uma nova variável local i será criada com valor 2, e 2 aparecerá na tela. def teste():   eu = 2 imprimir(i)
3) Neste programa, existe uma variável global i com valor 15. Seu valor pode ser alterado dentro da sub-rotina, para isso é necessário declarar explicitamente que ela é global ( use o comando global ).
O procedimento funcionará com a variável global i e será atribuído a ela um novo valor de 2. O valor 2 é exibido.
def teste():   global i eu = 2 # programa principal eu = 15 imprimir(i)


 

Problem

Escreva um procedimento com um parâmetro n que gere uma árvore de Natal com uma coroa de altura n. O programa principal deve conter a entrada do valor do variável n e a chamada do procedimento.< br />  
Exemplos
# Entrada Saída
1 5     o    ooo   ooooo  oooooo ooooooooo