Entrada estàndard¶
El llenguatge Python utilitza la funció input()
per a demanar alguna informació a l’usuari.
La funció input()
utilitzada sense paràmetres atura l’execució del programa i permet que l’usuari polse tecles. Quan l’usuari polse la tecla de Retorn la funció ens retornarà una cadena de text que contindrà la seqüència de tecles polsades per l’usuari. La funció input()
accepta com a paràmetre una cadena de text, que serà mostrada per pantalla.
Normalment utilitzarem una variable per desar allò que introdueix l’usuari, per exemple:
nom = input('Escriu el teu nom: ')
En l’exemple anterior, l’execució del programa es detindrà i es mostrarà en la pantalla el missatge «Escriu el teu nom: «. La variable nom serà una variable de tipus string (cadena de caràcters) que contindrà allò que escriga l’usuari abans de prémer la tecla de retorn.
És important notar que el valor de retorn de la funció input()
sempre és una cadena de text, encara que l’usuari escriga un nombre. Observa l’exemple següent:
edat = input('Escriu la teua edat: ') # El valor de la variable edat será, per exemple, edat = '16'
# i no edat = 16. No és el matèix!
En ocasions necessitarem funcions poden ser útils per transformar en nombres els textos que ens retorna la funció input()
. Observa el següent exemple incorrecte
nombre = input('Introdueix un nombre: ')
mitat = nombre / 2
# Incorrecte! "nombre" és una variable de tipus str, així que no es pot fer la operació de divisió.
La solució és transformar la dada a float
o int
abans de que esta siga utilitzada com es fa en l’exemple següent:
edat = input('Introdueix la teua edat: ')
edat = int(edat)
pes = input('Introdueix el teu pes en kilograms: ')
pes = float(pes)
En l’exemple anterior, la funció int()
retorna el valor de edat transformat en variable de tipus int
. Aquest valor és emmagatzemat novament en la variable edat que es pot utilitzar a partir d’eixe moment en operacions matemàtiques amb normalitat. El mateix fem per transformar la variable pes a tipus float
. És important decidir quin és el tipus de variable més adeqüat, en funció de si el valor pot o no tenir decimals.
Altre exemple equivalent al anterior és el següent, on la variable nombre conté una cadena i solament es transforma en el moment de fer l’operació.
nombre = input('Introdueix un nombre: ')
mitat = float(nombre) / 2
# Després 'nombre' continua sent una variable de tipus string.
Finalment, podem canviar el tipus de variable fins i tot abans d’emmagatzemar-la utilitzant la funció input()
com a paràmetre de la funció int()
o float()
.
edat = int(input('Introdueix la teua edat: '))
pes = float(input('Introdueix el teu pes en kilograms: '))