La selezione (IF)

if-elif-else

Il costrutto if-elif-else permette di eseguire istruzioni o gruppi di istruzioni diverse a seconda del verificarsi di una o più condizioni.

La forma più semplice prevede l’uso di un if seguito da una condizione, dai due punti (:) e da un blocco di codice indentato che viene eseguito solo se la condizione è vera:

if condizione:
# gruppo di istruzioni eseguite
# se la condizione è vera

Per esempio, per calcolare il valore assoluto di un numero, possiamo procedere così:

n = int(input('Inserisci un numero: '))
if n < 0: # se il numero è negativo
    n = -n # rendilo positivo
print('Il valore assoluto è', n)

In questo caso il blocco di codice indentato sotto l’if (cioè n = -n) è eseguito solo se il numero è negativo. Se il numero è invece positivo, il programma procede ad eseguire l’istruzione che segue l’if, cioè il print().

Aggiungendo un else seguito dai due punti (:) possiamo anche specificare un blocco di codice eseguito quando la condizione dell’if è falsa:

if condizione:
    # gruppo di istruzioni eseguite
    # se la condizione è vera
else:
    # gruppo di istruzioni eseguite
    # se la condizione è falsa

In questo caso Python eseguirà il primo blocco se la condizione è vera, oppure il secondo blocco se la condizione è falsa. Ad esempio:

n = int(input('Inserisci un numero: '))
if n < 0: # se il numero è negativo
    print(n, 'è negativo')
else: # altrimenti (se non è negativo)
    print(n, 'è positivo')

In questo caso il programma eseguirà uno dei due print(): il primo se il numero inserito dall’utente è negativo, il secondo se invece è positivo.

È infine possibile aggiungere 1 o più elif, ognuno seguito da una condizione, dai due punti (:) e da un blocco di codice indentato che viene eseguito solo se la condizione è vera. È anche possibile aggiungere un singolo else alla fine che viene eseguito se tutte le condizioni precedenti sono false:

if condizione1:
    # gruppo di istruzioni eseguite
    # se la condizione1 è vera
elif condizione2:
    # gruppo di istruzioni eseguite
    # se la condizione2 è vera
elif condizioneN:
    # gruppo di istruzioni eseguite
    # se la condizioneN è vera
else:
    # gruppo di istruzioni eseguite
    # se tutte le condizioni sono false

Si noti che solo uno di questi blocchi viene eseguito: se una delle condizioni è vera, il blocco corrispondente viene eseguito; se invece tutte le condizioni sono false e un else è presente, solo il blocco dell’else viene eseguito. Nel caso ci siano più condizioni vere, verrà eseguito solo il blocco corrispondente alla prima condizione vera.

n = int(input('Inserisci un numero: '))
if n < 0:
    print(n, 'è negativo')
elif n > 0:
    print(n, 'è positivo')
else:
    print(n, 'è zero')

Questo programma usa if ed elif per verificare rispettivamente se il numero inserito dall’utente è negativo o positivo. Se entrambe le condizioni sono false (cioè quando il numero è uguale a 0), l’else viene eseguito.

Esercizio 1 :Cosa genera questo codice se inserisco 1, 7 e poi scrivo pippo?

print("Hello world")
i=input("Inserire un numero per favore:")
y=int(i)
if y>5:
    print("Maggiore di 5")
    
print("Grazie per l'utilizzo")    

Esercizio 2:Creare un programma in Python che sostituisca con if concatenati lo switch case del c++ per creare un menu a selezione multipla.

Esercizio 3: Riconoscere un numero inserito quanti divisori ha.

Lascia un commento

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

Progetta un sito come questo con WordPress.com
Comincia ora