if / elif / else în Python

Structuri de control Python 3.0+

Execută un bloc de cod doar dacă o condiție este adevărată.

Sintaxă
if conditie:
    ...
elif alta_conditie:
    ...
else:
    ...

Ce face if / elif / else

if verifică o condiție. Dacă este adevărată, rulează blocul indentat de sub ea. Poți adăuga oricâte ramuri elif (prescurtare de la „else if”) și, la final, o ramură else pentru restul cazurilor. Se execută doar prima ramură adevărată.

Linia cu condiția se termină cu două puncte (:), iar blocul se indentează (de obicei cu 4 spații). Condițiile se combină cu and, or și not.

Valorile „goale” sunt considerate false: 0, "", [], {}, None. Pentru o alegere scurtă există și forma pe un rând: a if conditie else b.

Exemple

Exemplul 1: Nota la examen

nota = 8

if nota >= 9:
    print("Excelent")
elif nota >= 7:
    print("Bine")
elif nota >= 5:
    print("Suficient")
else:
    print("Picat")

Rezultat

Bine

Exemplul 2: Condiții combinate și valori goale

varsta = 20
are_bilet = True
cos = []

if varsta >= 18 and are_bilet:
    print("Poți intra.")
if not cos:
    print("Coșul este gol.")

Rezultat

Poți intra.
Coșul este gol.

Exemplul 3: Expresia condițională pe un rând

stoc = 0
mesaj = "În stoc" if stoc > 0 else "Stoc epuizat"
print(mesaj)

Rezultat

Stoc epuizat

Greșeli frecvente

  • Uiți cele două puncte de la final: if x > 5 fără : dă SyntaxError.
  • Folosești = în loc de == în condiție. = atribuie, == compară.
  • Amesteci tab-uri cu spații la indentare și primești IndentationError sau TabError.

Comenzi înrudite

  • match / case: Compară o valoare cu mai multe modele (pattern matching), ca un switch mult mai puternic.
  • and, or, not: Operatorii logici: „și”, „sau” și negația.
  • for: Parcurge, pe rând, fiecare element dintr-o listă, text, dicționar sau alt obiect iterabil.
  • while: Repetă un bloc de cod cât timp o condiție rămâne adevărată.