🐍

Bucle în Python: for și while

Programare Python Începător 1 min citire 0 cuvinte

Bucle în Python: for și while

Bucla for

Iterare prin secvențe

# Prin listă
for x in [1, 2, 3]:
    print(x)

# Prin șir
for c in "Python":
    print(c)

# Prin dicționar (chei)
d = {"a": 1, "b": 2}
for key in d:
    print(key)

# Prin dicționar (chei și valori)
for key, value in d.items():
    print(key, value)

Cu range()

# Repetă de 5 ori
for i in range(5):
    print(i)  # 0, 1, 2, 3, 4

# De la 2 la 7
for i in range(2, 8):
    print(i)  # 2, 3, 4, 5, 6, 7

# Cu pas
for i in range(0, 10, 2):
    print(i)  # 0, 2, 4, 6, 8

# În ordine inversă
for i in range(10, 0, -1):
    print(i)  # 10, 9, 8, ..., 1

Cu enumerate()

fructe = ["mar", "para", "banana"]

for index, fruct in enumerate(fructe):
    print(f"{index}: {fruct}")
# 0: mar
# 1: para
# 2: banana

Bucla while

Forma de bază

x = 0
while x < 5:
    print(x)
    x += 1
# 0, 1, 2, 3, 4

Buclă infinită controlată

while True:
    raspuns = input("Continuă? (da/nu): ")
    if raspuns == "nu":
        break

Instrucțiuni de Control

break - Ieșire din buclă

for i in range(10):
    if i == 5:
        break
    print(i)
# 0, 1, 2, 3, 4

continue - Salt la următoarea iterație

for i in range(5):
    if i == 2:
        continue
    print(i)
# 0, 1, 3, 4

else pe bucle

for i in range(5):
    if i == 10:  # Nu se găsește
        break
else:
    print("Bucla s-a terminat normal")

# Se afișează: "Bucla s-a terminat normal"

Bucle Imbricate

for i in range(3):
    for j in range(3):
        print(f"({i},{j})", end=" ")
    print()
# (0,0) (0,1) (0,2)
# (1,0) (1,1) (1,2)
# (2,0) (2,1) (2,2)

Tehnici Comune

Găsirea unui element

numere = [3, 1, 4, 1, 5, 9, 2, 6]
cautat = 5

for i, n in enumerate(numere):
    if n == cautat:
        print(f"Găsit la indexul {i}")
        break
else:
    print("Nu s-a găsit")

Acumulare

numere = [1, 2, 3, 4, 5]
suma = 0

for n in numere:
    suma += n

print(suma)  # 15

De Reținut

Blocul else al unei bucle se execută doar dacă bucla s-a terminat normal (fără break).

Întrebări de Verificare

  1. Ce diferență este între for și while?
  2. Ce face instrucțiunea continue?
  3. Când se execută blocul else al unei bucle?
  4. Cum iterezi prin cheile și valorile unui dicționar?

📚 Articole Corelate