Menu
CoddyTech

If - Else annidati

Fa parte della sezione Fondamenti del percorso Python di Coddy. Lezione 23 di 77.

Le istruzioni If-Else annidate ti consentono di verificare più condizioni inserendo un'istruzione if-else all'interno di un'altra. Puoi annidare un blocco if all'interno di un blocco else. Questo è uno schema comune e valido in Python.

Crea un'istruzione if-else di base:

age = 18
title = "None"
if age >= 18:
    title = "Adult"
else:
    title = "Minor"

Ora aggiungiamo una condizione annidata all'interno del blocco else:

age = 18
title = "None"
allowed_to_drink = False
if age >= 18:
    title = "Adult"
else:
    title = "Minor"
    if age >= 13:
        title = "Teenager"
    else:
        title = "Child"

Puoi anche annidare una condizione all'interno del blocco if:

age = 25
title = "None"
allowed_to_drink = False
if age >= 18:
    title = "Adult"
    if age >= 21:
        allowed_to_drink = True
    else:
        allowed_to_drink = False
else:
    title = "Minor"

In entrambi gli esempi, l'if-else interno viene eseguito solo quando viene soddisfatta la condizione esterna che lo contiene. Inserire un'istruzione if all'interno di un blocco else (o all'interno di un blocco if) è del tutto valido. È proprio questo che lo rende «annidato».

challenge icon

Sfida

Principiante

Scrivi un programma che determini l'idoneità a guardare un film in base all'età e alla presenza di un genitore.

Nota: age e with_parent hanno già i loro valori, diversi in ogni caso di test. Non assegnare tu un valore, usale e basta.

Il tuo compito:
Usa istruzioni if-else annidate per assegnare alla variabile message una delle seguenti stringhe:

  1. Se l'età è pari o superiore a 18 anni, assegna a message il valore "You can watch any movie".
  2. Se l'età è inferiore a 18 anni:
    1. Se with_parent è True, assegna a message il valore "You can watch PG-13 movies".
    2. Se with_parent è False, assegna a message il valore "You can only watch G-rated movies".

Importante: Poiché with_parent è già un valore booleano, controllalo direttamente (ad esempio, if with_parent:): non confrontarlo con una stringa come "true" o "True".

Importante: Le stringhe devono corrispondere esattamente, comprese maiuscole e punteggiatura. Ad esempio, usa "PG-13 movies" (con la 'm' minuscola), non "PG-13 Movies".

Provalo tu

# age e with_parent hanno già i loro valori
# Dichiara una variabile chiamata message con il valore "None"
message = "None"

# Scrivi qui il tuo codice if-else annidato


# Non modificare nulla sotto questa riga
print(message)
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Python online