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:
Exemple 1: Iterar sobre una llista
Explicació:
fruitesés una llista que conté tres elements.- El bucle
foriterarà 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.
Explicació:
range(5)genera una seqüència de nombres de 0 a 4.- El bucle
foriterarà 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
foriterarà 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:
Exemple 1: Bucle senzill while
Explicació:
- El bucle
whilecontinuarà executant-se mentreisigui menor que 5. - A cada iteració,
is'incrementa en 1.
Exemple 2: Bucle infinit (amb condició de sortida)
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!".
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
foren lloc dewhilei viceversa: Tria el bucle adequat segons el context. Utilitzaforquan saps el nombre d'iteracions iwhilequan no ho saps. - No utilitzar
breaken 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
- Introducció a Python
- Configuració de l'Entorn de Desenvolupament
- Sintaxi de Python i Tipus de Dades Bàsics
- Variables i Constants
- Entrada i Sortida Bàsiques
Mòdul 2: Estructures de Control
Mòdul 3: Funcions i Mòduls
- Definició de Funcions
- Arguments de Funció
- Funcions Lambda
- Mòduls i Paquets
- Visió General de la Biblioteca Estàndard
Mòdul 4: Estructures de Dades
Mòdul 5: Programació Orientada a Objectes
Mòdul 6: Gestió de Fitxers
- Lectura i Escriptura de Fitxers
- Treballant amb Fitxers CSV
- Gestió de Dades JSON
- Operacions amb Fitxers i Directoris
Mòdul 7: Gestió d'Errors i Excepcions
Mòdul 8: Temes Avançats
- Decoradors
- Generadors
- Gestors de Context
- Concurrència: Fils i Processos
- Asyncio per a Programació Asíncrona
Mòdul 9: Proves i Depuració
- Introducció a les Proves
- Proves Unitàries amb unittest
- Desenvolupament Guiat per Proves
- Tècniques de Depuració
- Ús de pdb per a la Depuració
Mòdul 10: Desenvolupament Web amb Python
- Introducció al Desenvolupament Web
- Conceptes Bàsics del Framework Flask
- Construcció d'APIs REST amb Flask
- Introducció a Django
- Construcció d'Aplicacions Web amb Django
Mòdul 11: Ciència de Dades amb Python
- Introducció a la Ciència de Dades
- NumPy per al Càlcul Numèric
- Pandas per a la Manipulació de Dades
- Matplotlib per a la Visualització de Dades
- Introducció al Machine Learning amb scikit-learn
