Menu
Coddy logo textTech

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.

Codice fornito (non modificare):

  1. È definita una variabile age e le viene assegnato un valore acquisito dall'input
  2. È definita una variabile with_parent e le viene assegnato un valore booleano. È True se l'input è "true", oppure False se l'input è "false"
  3. È definita una variabile message con il valore "None"

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

# Acquisisci l'età come numero intero
age = int(input())

# Acquisisci la presenza di un genitore come valore booleano (True/False)
with_parent = input() == "true"

# 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