#
# 011 Python3 - Le funzioni definite dall'utente.
# Una funzione è costituita da un gruppo di istruzioni avente lo scopo di assolvere una funzione specifica
# La sintassi tipica di una funzione è
# {def nomeFunzione(PARAMETRO1, PARAMETRO2)}
# { print("Prima istruzione di questa funzione")}
# { PARAMETRO3 = PARAMETRO1 + PARAMETRO2}
# { return(PARAMETRO3, PARAMETRO4) # Ultima istruzione di questa funzione}
# La sintassi tipica della chiamata di una funzione è
# {PAR3, PAR4 = nomeFunzione(PAR1, PAR2)}
#
# Per avviare questo script:
# 1) Salvarlo nella cartella di lavoro, con nome ed estensione che si preferisce (Estensioni comuni: .py .pyw .pyc .pyo .pyd )
# 2) Aprire un terminale nella cartella di lavoro
# 3) Impartire il comando: [python3 ]
#
SOMMA = 0
def SPIEGAZIONE():# Inizio definizione funzione SPIEGAZIONE(). In questo caso, la funzione non richiede parametri
print("Questo script in Python 3: \n1) Chiede all'utente se vuole che questo messaggio venga visualizzato, e si comporta di conseguenza.")
print("2) Chiede all'utente di inserire Base ed altezza di un rettangolo, in cm")
print("3) Calcola perimetro ed area del rettangolo, e stampa i dati calcolati")
# La funzione termina senza restituire alcun valore.
def NUMERO(NUM = "Base"): # Inizio definizione funzione NUMMERO(), la quale richiede 1 parametro, che verrà messo nella variabile NUM (Valore predefinito: "Base")
NUM = NUM +" del rettangolo, in cm ? " # Ridefinisce il contenuto della variabile NUM
NUM = input(NUM) # Chiede un numero, e lo mette nella variabile NUM
return(NUM) # La funzione termina previo restituzione dell'attuale contenuto della variabile NUM
def CALCOLI(DATO1, DATO2): # Inizio definizione funzione CALCOLI(), la quale richiede 2 parametri, che verrà messo nelle variabili DATO1 e DATO2
DATO1 = float(DATO1) # Converte la variabile stringa in una variabile numerica a virgola mobile
DATO2 = float(DATO2) # Converte la variabile stringa in una variabile numerica a virgola mobile
SOMMA = (DATO1 + DATO2) * 2 # Calcola il perimetro del rettangolo
PRODOTTO = DATO1 * DATO2 # Calcola l'area del rettangolo
return SOMMA, PRODOTTO # La funzione termina previo restituzione dell'attuale contenuto delle variabili SOMMA e PRODOTTO
#
X = input("Vuoi sapere a cosa serve questo script in Python 3 ? [s/n] ")
if X == "s":
SPIEGAZIONE() # Chiama la funzione SPIEGAZIONE() senza inviare nè ricevere parametri.
#
BASE = NUMERO() # Chiama la funzione NUMERO() senza trasferimento di alcun valore (verrà usato il valore predefinito).
# ^ Il valore di ritorno, verrà messo nella variabile BASE.
#
ORDINE = "Altezza"
ALTEZZA = NUMERO(ORDINE) # Chiama la funzione NUMERO() previo trasferimento del contenuto della variabile ORDINE.
# ^ Il valore di ritorno, verrà messo nella variabile ALTEZZA.
#
SUM, PRO = CALCOLI(BASE, ALTEZZA) # Chiama la funzione CALCOLI() previo trasferimento del contenuto delle variabili BASE ed ALTEZZA.
# ^ I 2 valori di ritorno, verranno messi nelle variabili SUM e PRO.
#
RISULTATO = "Il rettangolo avente la base di " + BASE + " cm, e l'altezza di " + ALTEZZA + " cm"
RISULTATO = RISULTATO + ", \n ha un’area di " + str(PRO) + " cm quadrati,\n ed un perimetro di " + str(SUM) + " cm."
print(RISULTATO)
#