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 eseguito il blocco che lo contiene: quello nel blocco else viene eseguito quando age >= 18 è falso, e quello nel blocco if viene eseguito quando age >= 18 è vero. Inserire un'istruzione if all'interno di un blocco else (o all'interno di un blocco if) è perfettamente valido. È proprio questo che lo rende «annidato».

challenge icon

Sfida

Principiante

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

Nota: age e with_parent sono già impostati per te, con valori diversi in ogni caso di test. Non impostarli tu, usali e basta.

Il tuo compito:
Usa istruzioni if-else annidate per impostare la variabile message su una delle seguenti stringhe:

  1. Se age è 18 o più, imposta message su "You can watch any movie".
  2. Se age è minore di 18:
    1. Se with_parent è True, imposta message su "You can watch PG-13 movies".
    2. Se with_parent è False, imposta message su "You can only watch G-rated movies".

Importante: Poiché with_parent è già un 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

# Scrivi qui il tuo codice if-else annidato


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