Les sentències condicionals són una part fonamental de qualsevol llenguatge de programació, ja que permeten que el codi prengui decisions basades en certes condicions. En Python, les sentències condicionals es gestionen principalment amb les instruccions if
, elif
i else
.
Conceptes Clau
- Instrucció
if
: Executa un bloc de codi si una condició és certa. - Instrucció
elif
: (abreviatura de "else if") Executa un bloc de codi si la condició anterior no és certa i la condició actual és certa. - Instrucció
else
: Executa un bloc de codi si cap de les condicions anteriors és certa. - Condicions: Expressions que es poden avaluar com a vertaderes (
True
) o falses (False
).
Sintaxi Bàsica
if condició: # bloc de codi si la condició és certa elif altra_condició: # bloc de codi si l'altra condició és certa else: # bloc de codi si cap de les condicions anteriors és certa
Exemple Pràctic
Vegem un exemple pràctic per entendre millor com funcionen les sentències condicionals en Python:
edat = 20 if edat < 18: print("Ets menor d'edat.") elif edat >= 18 and edat < 65: print("Ets adult.") else: print("Ets jubilat.")
Explicació de l'Exemple
- Condició
if
: Comprova siedat
és menor que 18. Si és cert, imprimeix "Ets menor d'edat." - Condició
elif
: Si la condició anterior no és certa, comprova siedat
és major o igual a 18 i menor que 65. Si és cert, imprimeix "Ets adult." - Condició
else
: Si cap de les condicions anteriors és certa, imprimeix "Ets jubilat."
Exercicis Pràctics
Exercici 1
Escriu un programa que demani a l'usuari una nota (un número entre 0 i 100) i imprimeixi la qualificació corresponent segons la següent taula:
Nota | Qualificació |
---|---|
90-100 | Excel·lent |
80-89 | Notable |
70-79 | Bé |
60-69 | Suficient |
0-59 | Insuficient |
Solució
nota = int(input("Introdueix la teva nota (0-100): ")) if nota >= 90: print("Excel·lent") elif nota >= 80: print("Notable") elif nota >= 70: print("Bé") elif nota >= 60: print("Suficient") else: print("Insuficient")
Exercici 2
Escriu un programa que demani a l'usuari un any i determini si és un any de traspàs. Un any és de traspàs si és divisible per 4, però no per 100, excepte si també és divisible per 400.
Solució
any = int(input("Introdueix un any: ")) if (any % 4 == 0 and any % 100 != 0) or (any % 400 == 0): print(f"{any} és un any de traspàs.") else: print(f"{any} no és un any de traspàs.")
Errors Comuns
- Indentació Incorrecta: Python utilitza l'indentació per definir blocs de codi. Assegura't que els blocs de codi dins de les instruccions
if
,elif
ielse
estiguin correctament indentats. - Condicions Incorrectes: Comprova que les condicions estiguin correctament formulades i que utilitzis els operadors lògics adequats (
and
,or
,not
). - Ús Incorrecte de
elif
ielse
: Recorda queelif
només s'executa si la condició anterior és falsa, ielse
només s'executa si cap de les condicions anteriors és certa.
Resum
Les sentències condicionals permeten que el teu programa prengui decisions basades en condicions específiques. Utilitzant if
, elif
i else
, pots controlar el flux del teu programa de manera efectiva. Practica amb diferents condicions i exemples per dominar aquest concepte fonamental en Python.
En el següent tema, explorarem els bucles for
i while
, que et permetran repetir blocs de codi de manera eficient.
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