Structuri de Control în Python
Instrucțiunea if
Forma simplă
x = 10
if x > 0:
print("Pozitiv")
if-else
x = -5
if x >= 0:
print("Pozitiv sau zero")
else:
print("Negativ")
if-elif-else
nota = 85
if nota >= 90:
print("Excelent")
elif nota >= 80:
print("Foarte bine")
elif nota >= 70:
print("Bine")
elif nota >= 60:
print("Suficient")
else:
print("Insuficient")
Indentarea
Python folosește indentarea pentru a delimita blocurile de cod:
# CORECT
if True:
print("Bloc 1")
print("Tot în bloc 1")
print("În afara blocului")
# GREȘIT - va genera IndentationError
if True:
print("Eroare!") # Lipsește indentarea
Operatorul Ternar
# Forma lungă
if x > 0:
rezultat = "pozitiv"
else:
rezultat = "negativ"
# Forma scurtă (operatorul ternar)
rezultat = "pozitiv" if x > 0 else "negativ"
Expresii Condiționale Complexe
Operatori logici
x = 15
# Verifică dacă x este între 10 și 20
if x >= 10 and x <= 20:
print("În interval")
# Sau mai elegant:
if 10 <= x <= 20:
print("În interval")
Verificarea tipului
x = [1, 2, 3]
if isinstance(x, list):
print("Este o listă")
if type(x) == list:
print("Este exact o listă")
Valori “Truthy” și “Falsy”
În Python, anumite valori sunt evaluate ca False:
| Tip | Valoare Falsy |
|---|---|
bool |
False |
int/float |
0, 0.0 |
str |
"" (șir gol) |
list |
[] (listă goală) |
dict |
{} (dicționar gol) |
None |
None |
lista = []
if lista: # Echivalent cu: if len(lista) > 0
print("Lista are elemente")
else:
print("Lista este goală")
Instrucțiunea match (Python 3.10+)
status = 404
match status:
case 200:
print("OK")
case 404:
print("Not Found")
case 500:
print("Server Error")
case _:
print("Unknown")
De Reținut
Python folosește indentarea (de obicei 4 spații) pentru a delimita blocurile de cod. Aceasta este obligatorie, nu opțională!
Întrebări de Verificare
- Ce se întâmplă dacă nu indentezi corect codul?
- Cum verifici dacă o listă este goală?
- Ce returnează
bool([])? - Care este sintaxa operatorului ternar?