Fins ara hem estat jugant amb el Minecraft i hem vist els següents aspectes de Python:
Declaració de variables: Enmagatzemar un valor (nombre, text, ...) amb un nom. Ex.: roca = 1
Comentaris: són una part del codi que no s'executa però aporta informació al programador. Ex.: # Comentari
Print: imprimir a la pantalla un missatge (és l'equivalent al "postToChat"). Ex.: print ("Hola món!")
For: realitzar un bucle de codi limitat pels valors que pot pendre una variable. Ex.: for i in range(0,10):
While: realitzar un bucle de codi sempre que es compleix una condició. Ex.: while (x < 100):
If/elif/else: executar un codi o un altre en funció de quina condició es dóna. Ex.: if bloc == herba: / elif bloc == aigua: / else:
Funcions: fragments de codi que volem executar més d'una vegada que es poden definir i simplement tornar a cridar sense necessitat de duplicar el codi: E.: def makeTree(x,y,z):
Perquè els programes puguin interactuar amb l'usuari i rebre "inputs", anem a veure com es pot fer perquè ens pregunti alguna cosa i s'en recordi de la nostra resposta. És molt fàcil:
nom = input("Hola, quin és el teu nom? ")
print ("Hola " + nom)
El codi anterior enmagatzema la resposta a la pregunta "quin és el teu nom?" dins la variable "nom", espera a que es premi la tecla intro, i despés la utilitza per imprimir a la pantalla un missatge de benvinguda.
Si en comptes de voler enmagatzemar text (variable tipus "String"), volem enmagatzemar un nombre sencer (variable tipus "integer"), haurem de tranformar el resultat de l'input de la següent manera:
edat = int(input("Hola, quin és el teu nom? "))
print ("Tinc " + nom + " anys")
Ara deixarem de banda el Minecraft per posar en pràctica els nostres coneixements dins d'un altre entorn amb una sèrie d'exercicis.
Exercicis:
1. Escriu un programa que et demani ("input") el nom, l'edat i l'adreça i escrigui ("print") una frase com "Hola, soc en Fulanit@, tinc X anys i visc a ...". Pensa que el "+" dins del parèntesi és el que et servirà per unir les diferents parts. Desa'l am el nom "dades.py".
2. Utilitza el bucle "for" per fer un programa que conti per pantalla ("print") tots els nombres de l'1 fins al 100. Desa'l amb el nom "comptafor.py".
3. Fes el mateix que a l'exercici anterior amb un bucle "while". Hauràs d'anar sumant 1 a la variable cada vegada que s'executi el bucle. Desa'l com "comptawhile.py"
4. Modifica l'exercici 2 perquè et demani fins a quin nombre vols comptar. Desa'l com "comptafinsx.py".
5. Escriu un programa que sumi tots els nombres de l'1 fins al 100. Necessitaràs una variable pel bucle i una altra per enmagatzemar el resultat de la suma. Desa'l com "suma100.py".
6. Canvia l'exercici anterior perquè sumi fins el nombre que li demanis. Desa'l com "sumafinsx.py".
7. Per saber si un nombre és parell o senar, dividim entre 2 i miram si el resto és igual a zero. Amb Python això es fa amb l'operació if nombre % 2 == 0. Escriu un programa que diu si un número donat és parell o senar. Desa'l com "parellsenar.py".
8. Escriu un programa que sumi tots els nombres senars fins un número que l'usuari triï. Desa'l com "senarsfinsx.py".
9. Fes un programa que torni l'import de les entrades a l'Aquarium d'un grup de gent sabent que els menors de 3 anys no paguen, fins als 12 anys paguen 14€, l'entrada normal són 24€ i els jubilats tenen un 25% de descompte. A més, els residents paguen 2€ menys. Desa'l amb el nom "aquarium.py".
10. Dissenya una calculadora. Com que no tenim interfície gràfica, el programa t'haurà de demanar primer quina operació vols fer i després amb quins números. Tu tries el nivell de complexitat, encara que sumar, restar, multiplicar i dividir són operacions obligatòries. Implementa cada operació a una funció separada i pensa que per altres operacions matemàtiques hauràs d'escriure a dalt de tot import math i després math.sqrt(x) per fer l'operació en qüestió (arrel quadrada en aquest cas).