# Python 3 per a no programadors/Qui hi ha?
### Entrada i variables

Crec que ha arribat l'hora de fer un programa realment complicat. Aquí el teniu:
Quan jo l'executo, això és el que veig:
Nota: Després d'executar el programa prement F5, la consola de Python només mostrarà la sortida:
Heu de prémer enter a la consola, i després introduir el vostre nom a la consola per a la resta de la sortida.
Evidentment, quan executeu el programa la vostra pantalla no mostrarà exactament el mateix a causa de la funció input. Quan haureu executat el programa (perquè ho heu fet, oi?) us haureu adonat que heu hagut d'escriure el vostre nom i prémer Enter. Llavors el programa ha acabat d'escriure el seu text i també el vostre nom. Això és un exemple d'entrada. El programa arriba a un cert punt i després espera que l'usuari introdueixi algunes dades que podrà fer servir més endavant.
Esclar que, perquè voldríem recollir informació sense poder tenir un lloc on guardar-la? Aquí és on apareixen les variables. En l'exemple anterior nom_usuari és una variable. Les variables són com caixes que poden guardar informacions. aquí teniu un programa que exemplifica l'ús de variables:
I aquí teniu la sortida:
Les variables contenen dades. Les variables del programa anterior són a, b23, nom, b, i c. Els dos tipus bàsics són strings (llistes de caràcters) i nombres. Els strings són una seqüència de lletres, números i altres caràcters. En aquest exemple b23 i nom són variables que guarden strings. Viquillibres, Carles, a + b és, El nom és, i Trobareu llibres lliures a són els strings d'aquest programa- Els caràcters envoltats per " o ' són strings. La resta són nombres. Recordeu que les variables es fan servir per a guardar-hi un valor a dins, pertant no es posen entre cometes (" o '). Si voleu fer servir el valor real del que escrigueu ho heu de fer entre cometes.
Semblen el mateix, però en la primera Python comprova si el valor desat a la variable dada1 és el mateix que el guardat a la variable Pim. En el segon, Python comprova si el valor de dada2 és literalment Pim (més endavant en aquest tutorial veurem més coses sobre strings i sobre ==).

### Assignació

Molt bé, així que tenim unes caixetes anomenades variables i també algunes dades que es poden guardar en variables. L'ordinador veurà una línia com nom = Carles i ho interpretarà com a "Posa l'string Carles a la caixa (o variable) nom. Més endavant veu c = a+ b i hi entén "Posa el resultat de a + b, és a dir 123.4 + 432 que equival a 555.4 a la variable c." La part dreta de la comanda és avaluada i el resultat es guarda a la variable de l'esquerra. Això s'anomena assignació, i no hauríeu de confondre el significat del símbol = amb el significat matemàtic del símbol d'igualtat (ja que per a això farem servir ==, com veurem més endavant).
Veiem un altre exemple d'ús de variables:
I evidentment la sortida és:
Fins i tot si tenim la mateixa variable a ambdós costats de l'assignació, l'ordinador entén "primer calcula el valor de la part dreta i després mira on cal guardar-ho"
Un últim programa abans d'acabar el capítol:
La meva sortida és:
N. del T.: Python retorna el nom dels tipus en Anglès, així float és un nombre real, int (de integer) és un enter, i str és un string (cadena de caràcters)
Tingueu en compte que nombre s'ha aconseguit amb float(input) mentre que text s'ha aconseguit amb input. input sempre retorna un valor de tipus string, i amb la funció float transformem un string que contigui un nombre en aquest nombre (el transforma a real). Quan volgueu que l'usuari escrigui un real, useu float(input) (evidentment per a un enter seria int(input)), però si el que voleu és text, useu només input. També podeu utilitzar la funció input però haureu de vigilar perquè el python ho considerarà com si fos codi, per exemple:
Quan s'executés passaria el següent:
La segona meitat del programa usa la funció type que diu de quin tipus és una variable (i pertant la dada que conté). Els enters són de tipus int, els reals de tipus float (abreviació de integer, enter; i floating point, coma flotant). Els strings són de tipus str. Els enters i els reals es poden operar en funcions matemàtiques, els strings no. Fixeu-vos que quan intentem multiplicar un string per un enter, el resultat és que l'string és copia tantes vegades com el multipliquem, tal com hem vist, text * 2 = HolaHola.
Les operacions amb strings fan coses diferents que amb els números. De la mateixa manera, hi ha algunes operacions que només funcionen amb números (enters i reals) i produeixen un error si es fan sobre un string. Aquí en teniu alguns exemples:
Aquí teniu la llista d'operacions amb strings:

### Examples

velocitat_temps.py
Exemples d'execució:
Area.py
Exemples d'execució:
En aquest exemple podem veure que el caràcter \ dins una cadena de caràcters, sembla que sigui obviat. El que passa realment és que, quan volem posar caràcters especials o reservats dins una cadena, com per exemple cometes o apòstrofs, per tal que aquests no tanquin la cadena quan no volem, posem davant seu el caràcter \. Per exemple si voleu posar l'alegria, posarem "l'alegria" o 'l\'alegria', també funcionarà "l\'alegria".