Els bucles són una eina fonamental en la programació que permeten repetir un bloc de codi diverses vegades. En Python, els dos tipus principals de bucles són for i while. Aquest mòdul t'ensenyarà com utilitzar aquests bucles per controlar el flux del teu programa.

Bucles for

El bucle for s'utilitza per iterar sobre una seqüència (com una llista, una tupla, un diccionari, un conjunt o una cadena de caràcters). La sintaxi bàsica és la següent:

for element in seqüència:
    # bloc de codi

Exemple 1: Iterar sobre una llista

fruites = ["poma", "plàtan", "cirera"]
for fruita in fruites:
    print(fruita)

Explicació:

  • fruites és una llista que conté tres elements.
  • El bucle for iterarà sobre cada element de la llista i executarà el bloc de codi dins del bucle, imprimint cada fruita.

Exemple 2: Utilitzar range()

La funció range() genera una seqüència de nombres. És molt útil per iterar un nombre determinat de vegades.

for i in range(5):
    print(i)

Explicació:

  • range(5) genera una seqüència de nombres de 0 a 4.
  • El bucle for iterarà sobre aquests nombres i els imprimirà.

Exemple 3: Iterar sobre un diccionari

estudiants = {"Anna": 22, "Joan": 21, "Maria": 23}
for nom, edat in estudiants.items():
    print(f"{nom} té {edat} anys")

Explicació:

  • estudiants.items() retorna una vista d'objectes de diccionari que conté tuples de parells (clau, valor).
  • El bucle for iterarà sobre aquests parells i els imprimirà.

Bucles while

El bucle while repeteix un bloc de codi mentre una condició sigui certa. La sintaxi bàsica és la següent:

while condició:
    # bloc de codi

Exemple 1: Bucle senzill while

i = 0
while i < 5:
    print(i)
    i += 1

Explicació:

  • El bucle while continuarà executant-se mentre i sigui menor que 5.
  • A cada iteració, i s'incrementa en 1.

Exemple 2: Bucle infinit (amb condició de sortida)

while True:
    resposta = input("Vols sortir? (sí/no): ")
    if resposta == "sí":
        break

Explicació:

  • El bucle while True és un bucle infinit.
  • La condició de sortida és quan l'usuari introdueix "sí", moment en què el bucle es trenca amb break.

Comparació de for i while

Característica for while
Iteració Sobre una seqüència Basat en una condició
Ús comú Quan el nombre d'iteracions és conegut Quan el nombre d'iteracions és desconegut
Sintaxi for element in seqüència: while condició:

Exercicis Pràctics

Exercici 1: Iterar sobre una llista de nombres

Escriu un bucle for que iteri sobre la llista nombres i imprimeixi només els nombres parells.

nombres = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# Solució
for nombre in nombres:
    if nombre % 2 == 0:
        print(nombre)

Exercici 2: Bucle while amb comptador

Escriu un bucle while que compti de 10 a 1 i després imprimeixi "Despegament!".

# Solució
i = 10
while i > 0:
    print(i)
    i -= 1
print("Despegament!")

Exercici 3: Iterar sobre un diccionari

Escriu un bucle for que iteri sobre el diccionari productes i imprimeixi el nom del producte i el seu preu.

productes = {"poma": 1.2, "plàtan": 0.5, "cirera": 2.5}

# Solució
for producte, preu in productes.items():
    print(f"El preu de {producte} és {preu} euros")

Errors Comuns i Consells

  • Oblidar incrementar el comptador en un bucle while: Això pot causar un bucle infinit.
  • Utilitzar for en lloc de while i viceversa: Tria el bucle adequat segons el context. Utilitza for quan saps el nombre d'iteracions i while quan no ho saps.
  • No utilitzar break en bucles infinits: Assegura't de tenir una condició de sortida clara per evitar bucles infinits.

Conclusió

Els bucles for i while són eines poderoses per repetir blocs de codi en Python. Saber quan i com utilitzar cada tipus de bucle és essencial per escriure codi eficient i llegible. Practica amb els exercicis proporcionats per consolidar els teus coneixements i estar preparat per a situacions més complexes en el futur.

Curs de Programació en Python

Mòdul 1: Introducció a Python

Mòdul 2: Estructures de Control

Mòdul 3: Funcions i Mòduls

Mòdul 4: Estructures de Dades

Mòdul 5: Programació Orientada a Objectes

Mòdul 6: Gestió de Fitxers

Mòdul 7: Gestió d'Errors i Excepcions

Mòdul 8: Temes Avançats

Mòdul 9: Proves i Depuració

Mòdul 10: Desenvolupament Web amb Python

Mòdul 11: Ciència de Dades amb Python

Mòdul 12: Projecte Final

© Copyright 2024. Tots els drets reservats