Decisions: if, elif, else
Els programes interessants prenen decisions: fan una cosa o una altra segons les dades.
Comparacions
Abans de decidir, un programa ha de comparar valors. Les comparacions retornen sempre True (cert) o False (fals):
Aquí tens tots els operadors de comparació:
==— igual a (dos signes d'igual, no un!)!=— diferent de<— menor que>— major que<=— menor o igual>=— major o igual
Fixa't bé: = assigna un valor a una variable, i == compara dos valors. Confondre'ls és un dels errors més freqüents en Python.
El if simple
Amb if pots fer que un bloc de codi s'executi només si una condició és certa:
Dues coses imprescindibles: els dos punts : al final de la línia del if, i la indentació (4 espais) al bloc interior. Prova de canviar nota = 8 per nota = 3 i torna a executar — el programa no imprimeix res.
if / else
Si vols fer una cosa quan la condició és certa i una altra quan és falsa, afegeix else:
L'else no porta cap condició — s'executa simplement quan el if no s'ha complert. Canvia la nota i comprova que el programa sempre imprimeix exactament una de les dues línies.
if / elif / else
Quan hi ha més de dues possibilitats, afegeixes tants elif (contracció de «else if») com calgui. Python comprova les condicions de dalt a baix i executa el primer bloc que es compleix:
L'ordre importa. Si posessis primer nota >= 5, un 9 imprimiria «Aprovat» perquè la primera condició ja seria certa. Python s'atura en el primer if/elif que es compleix i no mira els de sota.
Prova valors com 4, 5, 7, 9 i 10:
Condicions compostes: and, or, not
Pots combinar dues comparacions en una sola condició:
and exigeix que les dues condicions siguin certes. or n'exigeix almenys una:
not inverteix una condició: not True és False, i viceversa. S'usa per fer el codi més llegible quan la condició negativa és la natural:
Errors típics
Aquests tres errors els comet tothom alguna vegada. Llegeix els missatges d'error — Python t'indica exactament on és el problema.
1. Oblidar els dos punts :
2. Indentació incorrecta — el bloc interior ha d'anar amb 4 espais:
3. Usar = en lloc de == per comparar
Exercici
El programa ha de funcionar per qualsevol nota vàlida. La sortida ha de ser exactament una d'aquestes quatre paraules (amb accent on calgui).
Resum
if condició:executa un bloc si la condició és certa.else:s'executa quan capif/elifanterior s'ha complert.elif condició:permet encadenar més de dues branques; Python s'atura en la primera certa.- Les comparacions (
==,!=,<,>,<=,>=) retornenTrueoFalse. and/or/notcombinen o inverteixen condicions.- Tots els blocs
if/elif/elseacaben amb:i el seu contingut va indentat 4 espais.