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».
Sfida
PrincipianteScrivi un programma che determini l'idoneità a guardare un film in base all'età e alla presenza di un genitore.
Codice fornito (non modificare):
- È definita una variabile
agee le viene assegnato un valore acquisito dall'input - È definita una variabile
with_parente le viene assegnato un valore booleano. ÈTruese l'input è"true", oppureFalsese l'input è"false" - È definita una variabile
messagecon il valore"None"
Il tuo compito:
Usa istruzioni if-else annidate per assegnare alla variabile message una delle seguenti stringhe:
- Se l'età è pari o superiore a 18 anni, assegna a
messageil valore"You can watch any movie". - Se l'età è inferiore a 18 anni:
- Se
with_parentèTrue, assegna amessageil valore"You can watch PG-13 movies". - Se
with_parentèFalse, assegna amessageil valore"You can only watch G-rated movies".
- Se
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)Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 2
Operatori logici Parte 1Operatori logici Parte 2Riepilogo - Logica sempliceOperatori logici Parte 3Operatori logici Parte 47Calcolatore per dividere il conto
Messaggio di benvenutoAcquisire i dati10FizzBuzz con un tocco speciale
Panoramica del giocoLa funzione FizzBuzz2Variabili
NumeriStringaBooleanoConvenzioni di denominazioneVariabili vuoteRipasso - Inizializzare le variabili8Cicli
Ciclo forCiclo whileBreakContinueRipasso - FattorialeLa funzione rangeCiclo annidatoRipasso - Input dinamico3Operatori Parte 1
Operatori aritmeticiOperatore moduloScorciatoie aritmeticheRipasso - Matematica sempliceOperatori di confronto6Input/output di base
OutputOutput con variabiliInputConversione di tipoRipasso - Fino a 120Ripasso - Vero o falso9Funzioni
Dichiarare una funzioneArgomentiValore restituitoRiepilogo - Funzione SigmaRiepilogo - Funzione di validazioneValori predefinitiEsercitati da solo: Compilatore Python online