Els programadors sovint creen un programa "Hola món" per comprovar que tot funciona abans de començar qualsevol nou programa. És un dels programes més senzills que podeu crear i mostrarà el missatge "hola món" a la pantalla.
Obriu l'editor de codi i escriviu el següent programa:
Executa el programa. El missatge hola món hauria d'aparèixer a la consola. Si obteniu un error, reviseu el codi amb cura per assegurar-vos que tot sigui correcte. Alguns punts importants a tenir en compte si teniu un error són:
El codi distingeix entre majúscules i minúscules, print no és el mateix que Print
El text ha d'anar entre cometes.
print mostra el que li posis dins dels parèntesis.
Les variables són una manera d'emmagatzemar dades al vostre programa. Quan creeu una variable, es crea un espai a la memòria de l'ordinador reservat per emmagatzemar-hi dades. Aquesta àrea de memòria ara la controleu vosaltres: podeu recuperar-ne dades, canviar-les o eliminar-les.
Una variable s’inicialitza (o crea) la primera vegada que s’hi emmagatzema un valor, utilitzant l'operador d'assignació =. Després, podeu utilitzar-la en expressions amb altres variables i valors. Quan a una variable se li assigna un valor nou, s'oblida el valor antic. Això es diu sobreescriure la variable.
Les variables sempre han de tenir un nom, aquest nom el poseu vosaltres, pot ser el què vulgueu sempre que compleixi les següents normes:
Pot ser només una paraula sense espais.
Només pot utilitzar lletres, números i el caràcter de subratllat (_).
No pot començar amb un número.
Els noms de variables també distingeixen entre majúscules i minúscules, és a dir, spam, SPAM, Spam i sPaM són quatre variables diferents. En general, utilitzarem només noms de variables amb minúscules i subratllats.
Obriu l'editor de codi i escriviu el següent programa:
Executeu el programa. Què es mostra per pantalla? És el que esperàveu? Quin és el valor actual de la variable salutacio, "Hola" o "Bon dia"?
Un error comú és posar el nom de la variable entre cometes, p.ex. print("salutacio"). Què passa si faig això? Si no n'esteu segurs, proveu-ho!
Podem millorar el programa afegint a qui estem saludant després de la variable salutacio. Modifiqueu el codi per afegir el text "a tothom" després de la variable salutacio:
Tingueu en compte l'ús del signe + per afegir text al text de la variable. Afegir fragments de text com aquest es coneix com a concatenació. Executeu el programa.
Quina línia de codi canviaríeu si volguéssim que el programa digues: "Bon vespre a tothom"?
Sovint necessitem que l'usuari entri informació al nostre programa. Per fer-ho utilitzarem la funció input(). Aquesta funció atura el programa fins que l'usuari introdueix algun text amb el teclat i prem ENTER. Cal tenir en compte que la informació que introdueix l'usuari s'ha d'emmagatzemar en algun lloc.
print() i input() són exemples de funcions. Les funcions són programes fets prèviament que normalment es creen per realitzar una única tasca. Python té moltes funcions integrades que us permeten realitzar una gran varietat de tasques.
Obriu l'editor de codi i escriviu el codi següent per demanar a l'usuari que introdueixi el seu nom i emmagatzemar-lo en una variable:
Desglossant aquesta línia de codi podeu veure què fa cada element:
nom_usuari = crea una variable anomenada nom_usuari i li assigna un valor
input() utilitza la funció input per mostrar una indicació i capturar la resposta de l'usuari
"Com et dius? "– el valor entre parèntesis– és la sol·licitud que es mostrarà a la pantalla
Ara el text que ha introduït l'usuari està emmagatzemat en una variable (nom_usuari) i podem utilitzar el seu valor en el nostre programa. Usem print() per mostrar el nom de l'usuari:
Ara que comenceu a crear instruccions més complexes, és hora de parlar de sintaxi, els inevitables "errors de sintaxi" i consells per resoldre'ls.
Els ordinadors són molt precisos, i si incompleixes les regles t'ho diran de l'única manera que ho saben fer: amb errors. Ja vam veure que els noms de les variables han de complir tres regles, si no l'ordinador ens mostrarà un error de sintaxi. Si per exemple ens deixem d'escriure un dels parèntesis a la funció input() l'ordinador també ens avisarà que el programa no es pot executar perquè hi ha un error de sintaxi.
Al llarg d'aquest curs aprendrem les regles bàsiques de la sintaxi de Python, amb la pràctica i l'experiència n'aprendràs moltes més.
Consell: quan se us mostri un SyntaxError, utilitzeu el missatge d'error per trobar la posició aproximada de l'error. Pot ser la línia anterior o posterior a la mostrada.
És important tenir present que Python, com la majoria de llenguatges de programació, no interpreta els espais en blanc, ni verticalment (entre línies de codi) ni horitzontalment (entre paraules clau, símbols o funcions). És a dir, aquests codis fan exactament el mateix:
Això ens facilita poder endreçar millor el codi i fer-lo més entenedor.
Suposem que volem crear un programa que demani dos números a l'usuari i mostri per pantalla quan val la suma dels dos valors. Per fer-ho el programa haurà de crear variables per a les dades següents:
El primer número que entra l'usuari.
El segon número que entra l'usuari.
El resultat de sumar els dos valors.
Escriu el següent programa al teu editor intentant entendre què fa cada línia:
Executeu el vostre programa, introduïu dos números i mireu quin és el resultat.
Segurament el resultat no és el que esperaves, ja que si per exemple has entrat els números 1 i 2, el resultat ha sigut 12 i no 3 com haguéssim volgut.
En lloc de sumar els dos números, el vostre programa ha concatenat les dues entrades com si fossin text. Per resoldre aquest problema, cal dir a l'ordinador com ha d'interpretar les dades que se li han donat. Ell ha interpretat l'entrada com un fragment de text, com "1", però volem que l'interpreti com un nombre, com 1.
Les variables, a part del valor, també emmagatzemen informació sobre de quin tipus de dada és aquest valor.
Les variables que emmagatzemen dades de text tenen el tipus de dades string (str), mentre que les variables que contenen nombres enters tenen el tipus de dades integer (int).
Cal tenir en compte que Python interpreta totes les entrades de l'usuari com a text, encara que l'usuari escrigui un número. Per convertir les entrades de text a un nombre enter podeu utilitzar la funció int().
Afegim dues línies de codi per indicar al nostre programa que els valors introduïts per l'usuari són nombres enters en comptes de text, el codi sencer ha de ser semblant a:
En executar el programa hauríeu d'obtenir el resultat correcte. Per millorar el programa, i utilitzant la concatenació, podríem fer que no es mostri només el valor del resultat sinó una frase que digui: "La suma dels dos valors és: xx". Com ho faries? Canvia la instrucció print(sum) per:
Executem el programa i veiem que es desencadena un error que ens indica que només pots concatenar textos (strings), no textos i enters:
De la mateixa manera que heu hagut de convertir text en nombres enters per fer-hi càlculs, també heu de convertir les dades emmagatzemades a la variable sum que és un enter a text perquè es pugui concatenar. Per fer-ho podem utilitzar la funció str().
Per últim, una forma més elegant d'escriure aquest programa és convertir els tipus de dades al moment d'utilitzar-les, en comptes de sobreescriure la variable.
Com veieu podem cridar a una funció dins d'una altra funció, és el que es coneix com a composició de funcions ó nesting. Recordeu que les funcions compostes s’avaluen des de dins cap a fora.
Se us acut alguna altra manera d'escriure el mateix programa?
Fins ara hem après els tipus de dades que emmagatzemen text i nombres enters. Python també té molts altres tipus de dades. Aquests són alguns dels més utilitzats:
L’ordre de les operacions (també anomenat precedència) dels operadors matemàtics de Python és similar al de les matemàtiques. Si cal, podeu utilitzar parèntesi per anul·lar la precedència habitual. Els espais en blanc entremig dels operadors i els valors no compten per a Python (excepte per a la tabulació al principi de línia), però posar un sol espai és convenció. Operadors matemàtics de més a menys precedència:
Exemple:
Escriu i executa el següent codi al teu editor:
Veiem que la divisió sempre dona com a resultat un número decimal (float). Per convertir un text (string) o un nombre enter (integer) en un nombre decimal, podem utilitzar la funció float(). Per exemple, si volem convertir un text entrat per l'usuari en un nombre decimal podem fer:
Sempre que ho vulguem, podem comprovar de quin tipus és una dada amb la funció type(). Per exemple:
Alerta! un error molt comú a l'escriure números decimals és utilitzar la coma (,) com a separador dels decimals. En Python sempre s'ha d'utilitzar el punt (.), sino no ho entén com a un nombre decimal i ens trobarem amb un error (ValueError):
A la divisió del principi, veiem que al dividir 9 / 7, obtenim un nombre amb molts decimals que sovint queda poc elegant de mostrar com a resultat. Si volem arrodonir un float a un nombre determinat de decimals, podem utilitzar la funció round(). Aquesta funció necessita dos paràmetres: el nombre o la variable a arrodonir i el número de decimals que volem, separats per coma.
Els comentaris tenen la funció d'ajudar als programadors a entendre el codi i són ignorats per l’ordinador (no els interpreta). Els comentaris es fan amb la marca de hastag (#) i tot el text de la mateixa línia que hi va a continuació, és ignorat. De vegades, els programadors posaran un # davant d'una línia de codi per eliminar-lo temporalment mentre proven un programa. Això pot ser útil quan intenteu esbrinar per què un programa no funciona.