Instrucțiuni if imbricate
O instrucțiune if poate conține alte instrucțiuni if. Când una stă în interiorul alteia în acest fel, le numim instrucțiuni if imbricate.
Exemplu
Ieșire: program Python complet
x = 41
if x > 10:
print("Peste zece,")
if x > 20:
print("și de asemenea peste 20!")
else:
print("dar nu peste 20.")
Cum funcționează if imbricat
Imbricarea adaugă profunzime unei decizii: o alegere duce la următoarea. Python începe de la condiția cea mai din exterior și înaintează spre interior.
Exemplu
Două condiții verificate prin imbricare:
Ieșire: program Python complet
age = 25
has_license = True
if age >= 18:
if has_license:
print("Puteți conduce")
else:
print("Aveți nevoie de permis")
else:
print("Sunteți prea tânăr pentru a conduce")
Mai multe niveluri de imbricare
Poți imbrica oricât de adânc vrei, dar fiecare nivel în plus face codul mai greu de urmărit.
Exemplu
Imbricare pe trei niveluri:
Ieșire: program Python complet
score = 85
attendance = 90
submitted = True
if score >= 60:
if attendance >= 80:
if submitted:
print("Promovat cu rezultate bune")
else:
print("Promovat, dar lipsește tema")
else:
print("Promovat, dar cu prezență scăzută")
else:
print("Nepromovat")
If imbricat vs operatori logici
Un operator logic precum and poate uneori să înlocuiască imbricarea și să scurteze codul. Ce se potrivește depinde de logica ta.
În ambele cazuri obții același rezultat. Imbricarea se potrivește când logica interioară este complexă sau depinde de condiția exterioară, iar and se potrivește pentru două condiții simple, la fel de importante.
Exemplu
Iată varianta imbricată:
Ieșire: program Python complet
temperature = 25
is_sunny = True
if temperature > 20:
if is_sunny:
print("Vreme perfectă pentru plajă!")
Exemplu
Și aceeași verificare folosind and:
and pentru a verifica dacă temperature > 20 și is_sunny este True într-o singură condiție.
Afișați „Vreme perfectă pentru plajă!” dacă ambele condiții sunt îndeplinite.
Ieșire: program Python complet
temperature = 25
is_sunny = True
if temperature > 20 and is_sunny:
print("Vreme perfectă pentru plajă!")
Mai multe exemple
Exemplu
Validarea autentificării pas cu pas:
Ieșire: program Python complet
username = "Emil"
password = "python123"
is_active = True
if username:
if password:
if is_active:
print("Autentificare reușită")
else:
print("Contul nu este activ")
else:
print("Parola este obligatorie")
else:
print("Numele de utilizator este obligatoriu")
Exemplu
Stabilirea unei note cu condiții imbricate:
Ieșire: program Python complet
score = 92
extra_credit = 5
if score >= 90:
if extra_credit > 0:
print("Nota A+")
else:
print("Nota A")
elif score >= 80:
print("Nota B")
else:
print("Nota C sau mai mică")