Module: (Python) Subroutine: procedure e funzioni - 1


Problem

9 /11


Variabili locali e globali

Theory Click to read/hide

Variabili locali e globali

Le variabili che vengono introdotte nel programma principale sono chiamate globali (o condivise).

Puoi accedere alle variabili globali da qualsiasi subroutine. 

Spesso è necessario introdurre variabili aggiuntive che verranno utilizzate solo nella subroutine. Tali variabili sono chiamate locali (o locali). Puoi lavorare con loro solo all'interno della subroutine in cui sono creati. Il resto delle routine non "sa" nulla di esse.

Pertanto, è possibile limitare l'ambito (ambito) di una variabile solo alla subroutine in cui è realmente necessario. In programmazione, questa tecnica è chiamata incapsulamento  - nascondere la variabile dall'essere modificata dall'esterno.

Analizza tre programmi:
Descrizione Programma
1) In questo programma, la variabile i è locale. Se non c'è nessuna variabile i nel programma principale, avremo un messaggio di errore. E se esiste una tale variabile (allora è una variabile globale), il suo valore viene visualizzato sullo schermo.
prova def():
    stampa(i)
2) Qui, anche se c'è una variabile globale i, verrà creata una nuova variabile locale i con un valore di 2, e 2 apparirà sul schermo.
prova def():
  io = 2
    stampa(i)
3) In questo programma è presente una variabile globale i con valore 15. Il suo valore può essere modificato all'interno della subroutine, per questo è necessario dichiarare esplicitamente che è globale ( usa il comando global ).
La procedura funzionerà con la variabile globale i e le verrà assegnato un nuovo valore di 2. Viene visualizzato il valore 2.
prova def():
  globale i
    io = 2
    
# programma principale
io = 15
stampa(io)


 

Problem

Scrivete una procedura con un parametro n che generi un albero di Natale con una corona di altezza n. Il programma principale deve contenere l'input del valore del n e la procedura call.< br />  
Esempi
# Input Uscita
1 5
    o
   oooo
  ooooo
 ooooooooo
ooooooooo