Capítol 3

Operacions i input

Python pot fer càlculs. A més, pot demanar dades a l'usuari amb la instrucció input(). Combinant les dues coses, podràs fer programes que rebin informació numèrica, la processin i mostrin el resultat.

Operacions aritmètiques

Python pot fer les operacions matemàtiques habituals. Les escrius com ho faries en una calculadora:

Fixa't que la divisió / sempre retorna un float (nombre amb decimals), fins i tot si el resultat és exacte. En aquest sentit, existeixen dues operacions que poden ser molt útils:

La divisió entera // talla els decimals. El residu % retorna el que sobra. La potència ** fa l'exponenciació habitual.

Operacions amb variables

Les operacions es poden fer directament amb variables. Això és el que converteix Python en una eina poderosa — pots guardar dades, operar-hi i mostrar el resultat:

Primer es creen les variables base i altura. Després es calcula base * altura i es guarda el resultat a area. Finalment, es mostra tot amb una f-string.

Operacions amb strings

Podem realitzar operacions amb cadenes de caràcters, però els símbols tenen un significat diferent:

El + entre cadenes de caràcters les concatena (els enganxa). El * entre una cadena de caràcters i un nombre té l'efecte de repetir.

Atenció: no pots sumar una cadena de caràcters amb un nombre. Executa l'exemple i observa l'error:

Python no sap com sumar el text "Tinc " amb el número 16. Per solucionar-ho, pots convertir el número a string amb str(), o millor encara, fer servir una f-string: f"Tinc {edat} anys". Corregeix l'error amb qualsevol de les dues maneres.

Demanar dades: input()

Fins ara tots els valors estaven escrits directament al codi. Però un programa de veritat sovint necessita rebre dades de fora. La funció input() llegeix una línia de text que l'usuari escriu. Pots passar-li un missatge perquè l'usuari sàpiga què ha d'escriure: input("Com et dius? ").

En l'exemple següent, prova d'escriure un nom (per exemple Ada) quan el programa ho demani:

input() sempre retorna un string, encara que l'usuari escrigui un número. Això és molt important i és la font de molts errors.

Convertir tipus: int() i float()

Si vols fer operacions matemàtiques amb un valor que prové de la instrucció input(), en primer lloc l'has de convertir a nombre. Tens dues opcions per a fer-ho:

  • int("42") — converteix el string "42" al nombre enter 42.
  • float("3.14") — converteix el string "3.14" al nombre decimal 3.14.

L'exemple següent demana un nombre com a entrada, i en calcula el doble. Prova d'escriure 7:

Podem escriure-ho de forma més compacta, fent la conversió directament:

La forma int(input("text")) és un patró que veuràs molt sovint: mostra un missatge a l'usuari, llegeix la resposta i la converteix a enter en un sol pas.

Múltiples inputs

Cada crida a input() llegeix una línia nova. Si necessites dos valors, fas dues crides. Prova d'escriure dos nombres, per exemple 5 i 3:

Posant-ho tot junt

Ara ja tens les peces per fer un programa complet: llegir dades, operar-hi i mostrar el resultat. L'exemple següent calcula l'àrea d'un rectangle. Prova d'escriure una base (per exemple 8) i una altura (per exemple 5):

Fixa't en l'estructura: llegir → calcular → mostrar.
Molts programes segueixen aquest patró.

Exercici

Escriu un programa que llegeixi dos nombres enters (un per línia) i imprimeixi la seva suma, la seva diferència i el seu producte, amb el format exacte que veus a sota.

El programa rebrà com a input els nombres 12 i 4. La sortida ha de ser exactament:

Suma: 16
Diferència: 8
Producte: 48

Resum

  • Python fa aritmètica amb +, -, *, /, //, %, **.
  • Amb strings, + concatena i * repeteix.
  • input("missatge") mostra un missatge i llegeix una línia de text (sempre retorna un str).
  • int() i float() converteixen strings a nombres.
  • El patró int(input("text")) demana, llegeix i converteix en un sol pas.
  • Estructura típica d'un programa: llegir → calcular → mostrar.