010 Python3 – ‘if’, ‘elif’, ‘else’: lo script prende decisioni

19 Dicembre, 2022 (17:41) | Linux | By: sargonsei

010 Python3 – ‘if’, ‘elif’, ‘else’: lo script prende decisioni.

1) Utilizzo dell’istruzione ‘if’.
L’istruzione ‘if’ fa sì che il gruppo di istruzioni successive, riconoscibili in base all’indentazione, siano eseguite solo nel caso in cui una determinata condizione sia soddisfatta. Per esempio:

if A > B:          # Controlla se la condizione {A > B} è soddisfatta.
    print("A > B") # Questo comando verrà eseguito solo se la condizione corrispondente è soddisfatta.
print("Questa istruzione non è indentata, quindi questa riga verrà eseguita sempre").
#

2) Utilizzo delle istruzioni ‘if’ + ‘if’.
L’istruzione ‘if’ fa sì che il gruppo di istruzioni successive, riconoscibili in base all’indentazione, siano eseguite solo nel caso in cui una determinata condizione sia soddisfatta. Questo vale a prescindere dal fatto che sia stata preceduta ovvero che sia seguita da un’altra istruzione ‘if’. Per esempio:

if A > B:          # Controlla sempre e comunque se la condizione {A > B} è soddisfatta.
    print("A > B") # Questo comando verrà eseguito solo se la condizione corrispondente è soddisfatta.
print("Questa istruzione non è indentata, quindi questa riga verrà eseguita sempre").
if A == B:          # Controlla sempre e comunque se la condizione {A == B} è soddisfatta.
    print("A == B") # Questo comando verrà eseguito solo se la condizione corrispondente è soddisfatta.
print("Questa istruzione non è indentata, quindi questa riga verrà eseguita sempre").
#

3) Utilizzo delle istruzioni ‘if’ + ‘elif’.
Anche l’istruzione ‘elif’ fa sì che il gruppo di istruzioni successive, riconoscibili in base all’indentazione, siano eseguite solo nel caso in cui una determinata condizione sia soddisfatta, ma DEVE assolutamente essere preceduta da un gruppo di istruzioni ‘if’ oppure da un gruppo di istruzioni ‘elif’ e, a differenza del gruppo di istruzioni ‘if’, la condizione associata all’istruzione ‘elif’ viene valutata solo ed esclusivamente nel caso in cui la condizione precedente NON sia stata soddisfatta. Per esempio:

if A != B:          # Controlla sempre e comunque se la condizione {A != B} è soddisfatta.
    print("A è diverso da B") # Questo comando verrà eseguito solo se la condizione corrispondente è soddisfatta.
elif A == B: # Solo se la condizione precedente NON è soddisfatta, verifica se la condizione {A == B} è soddisfatta.
    print("A è uguale a B") # Questo comando verrà eseguito solo se la condizione corrispondente è soddisfatta.
print("Questa istruzione non è indentata, quindi questa riga verrà eseguita sempre").
#

4) Utilizzo delle istruzioni ‘if’ + ‘else’.
L’istruzione ‘else’ DEVE assolutamente essere preceduta da un gruppo di istruzioni ‘if’ oppure da un gruppo di istruzioni ‘elif’, e non comporta alcuna valutazione, in quanto ontraddistingue un gruppo di istruzioni che verranno eseguite solo ed esclusivamente nel caso in cui la verifica della condizione precedente è avvenuta ed ha avuto esito negativo. Per esempio:

#
if A != B:          # Controlla se la condizione {A != B} è soddisfatta.
    print("A è diverso da B") # Questo comando verrà eseguito solo se la condizione corrispondente è soddisfatta.
else: # Questa istruzione indica a Python che la diversa indentazione raggruppa istruzioni da eseguire solo se la condizione precedente NON è soddisfatta.
    print("A è uguale a B") # Questo comando verrà eseguito solo se la condizione precedente non è verificata.
print("Questa istruzione non è indentata, quindi questa riga verrà eseguita sempre").
# 

5) Script: Esempio di utilizzo combinato delle istruzioni ‘if’, ‘elif’, ‘else’.

#
# 010 5) Python3 – 'if', 'elif', 'else': lo script prende decisioni.
# L'istruzione 'if' permette di eseguire un'istruzione solo se una data condizione è verificata.
# L'istruzione 'elif' permette di eseguire un'istruzione se una data condizione è verificata e le condizioni precedenti NON sono verificate.
# L'istruzione 'else' permette di eseguire un'istruzione se nessuna delle condizioni precedenti si è verificata.
#
# 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 < nomeDelloScript.EstensioneDelloScript >]
# 
PROSEGUE = "s" # Dichiarazione variabile stringa PROSEGUE e relativo contenuto iniziale.
NUMERO = 0 # Dichiarazione variabile numerica intera NUMERO
#
while PROSEGUE == "s":
    NUMERO = input("Inserire un numero intero. ") # Inserimento nuovo valore nella variabile NUMERO
    if float(NUMERO) != int(float(NUMERO)): # se la condizione {float(NUMERO) != int(float(NUMERO))} è verificata, esegue le istruzioni successive indentate
        # Prima istruzione che verrà eseguita solo se la condizione iniziale è vera.
        print("Il numero " + NUMERO + " NON è un numero intero.")
        print("Da ora in poi, questo script si comporterà come se l'utente avesse inserito il numero " + str(int(float(NUMERO))) + ".")
        # Ultima istruzione che verrà eseguita solo se la condizione iniziale è vera.
    # Fine indentazione. Da qui in poi lo script riprende ad eseguire le istruzioni in ordine di scrittura.
    #
    NUMERO = int(float(NUMERO)) # Converte la variabile NUMERO in una variabile numerica intera.

    if (NUMERO % 2) == 0: # se la condizione {(NUMERO % 2) == 0} è verificata, esegue le istruzioni successive indentate
        # Prima istruzione che verrà eseguita solo se la condizione iniziale è vera.
        print("Il numero " + str(NUMERO) + " è un numero pari.")
        # Ultima istruzione che verrà eseguita solo se la condizione iniziale è vera.
    else: # se la condizione {(NUMERO % 2) == 0} non è verificata, esegue le istruzioni successive indentate
        # Prima istruzione che verrà eseguita solo se la condizione iniziale non è vera.
        print("Il numero " + str(NUMERO) + " è un numero dispari.")
        # Ultima istruzione che verrà eseguita solo se la condizione iniziale non è vera.
    # Fine indentazione. Da qui in poi lo script riprende ad eseguire le istruzioni in ordine di scrittura.
    #
    if NUMERO == 0: # se la condizione {NUMERO == 0} è verificata, esegue le istruzioni successive indentate
        # Prima istruzione che verrà eseguita solo se la condizione iniziale è vera.
        print("Il numero " + str(NUMERO) + " è uguale a 0.")
        # Ultima istruzione che verrà eseguita solo se la condizione iniziale è vera.
    elif NUMERO > 0: # se la condizione precedente non è verificata e la condizione {NUMERO > 0} è verificata, esegue le istruzioni successive indentate
        # Prima istruzione che verrà eseguita solo se la condizione 'elif' corrispondente è vera.
        print("Il numero " + str(NUMERO) + " è maggiore di 0.")
        # Ultima istruzione che verrà eseguita solo se la condizione 'elif' corrispondente è vera.
    else: # se nessuna delle condizioni precedenti è verificata, esegue le istruzioni successive indentate
        # Prima istruzione che verrà eseguita solo se nessuna delle condizioni precedenti è vera.
        print("Il numero " + str(NUMERO) + " è minore di 0.")
        # Ultima istruzione che verrà eseguita solo se la condizione iniziale non è vera.
    # Fine indentazione. Da qui in poi lo script riprende ad eseguire le istruzioni in ordine di scrittura.
    PROSEGUE = input("Vuoi inserire un altro numero? (s / n) ") # Chiede un nuovo contenuto da mettere nella variabile stringa PROSEGUE
print("Se alla domanda precedente l'utente non ha risposto 's', il ciclo 'while' termina e lo script prosegue da questa riga")
print("In assenza di altre righe, lo script si ferma.")
#