En èpoques d'engany com ara, dir la veritat és revolucionari. Front el feixisme, ni un pas enrere! Viure sense llibertat, no és viure, és sobreviure.
Per defecte, en tots els llenguatges de programació les instruccions s'executen seqüencialment, una després de l'altra i de dalt a baix. Però si és necessari per al funcionament correcte del programa podem modificar l'ordre d'execució seqüencial de dues maneres:
Instruccions condicionals, només s'executaran si es compleix una condició. En aquesta secció, tractarem les instruccions if , else i elif .
Instruccions repetitives o de bucle, un bloc d'instruccions s'executaran repetidament sempre que una condició es compleixi. El while i el for els veurem al següent tema.
Abans d'entrar amb les instruccions condicionals, comencem explicant els Operadors de Comparació.
Dins d'un programa cal prendre decisions i per això necessitem comparar valors.
Podem comparar dos valors de les sis maneres que veiem a la taula.
print(len('mango') == len('alvocat')) # False
print(len('mango') != len('alvocat')) # True
print(len('mango') < len('alvocat')) # True
print(len('llet') != len('carn')) # False
print(len('llet') == len('carn')) # True
print(len('sabata') == len('patata')) # True
print(len('rap') > len('gat')) # False
Al Python i altres llenguatges de programació, la paraula clau IF s'utilitza per comprovar si una condició és certa, i com a conseqüència, per executar el codi de bloc.
a = float(input('Escriu un número: '))
if a > 0:
print('A és un número positiu')
Feu un programa anomenat Cognom_Nom_p4.py que faci les tasques següents:
1.- Utilitzant la instrucció per afegir comentaris escrivim: Practiquem els IF.
2.- Dins del programa farem:
Demanarem per pantalla un número entre 0 i 4 (ambdós inclosos) i el guardarem en una variable.
Si el número és més petit de 0, mostrarem el missatge: Desperta, he demanat que escriguis un número més gran de 0 :-(
Si el número és igual 0, mostrarem el missatge: 0, segur que no serà la nota d'aquesta pràctica. ;-(
Si el número és igual 1, mostrarem el missatge: 1, No assoleixes aquesta pràctica. :[
Si el número és igual 2, mostrarem el missatge: 2, Assoliment satisfactori o.O
Si el número és igual 3, mostrarem el missatge: 3, Assoliment Notable :-)
Si el número és igual 4, mostrarem el missatge: 4, Assoliment Excel·lent :-D
Si el número és més gran de 4, mostrarem el missatge: Però que et passa, no entens que has d'escriure un número entre 0 i 4 :-(
Ajuda: Fins ara, per mostrar missatges dins del PRINT hem utilitzat les ' '. Com en aquesta pràctica els missatges contenen parèntesi hem d'utilitzar " ".
#Practiquem els IF.
a = float(input('Escriu un número entre 0 i 4: '))
if a < 0:
print("Desperta, he demanat que escriguis un número més gran de 0 :-(")
if a == 0:
print("0, segur que no serà la nota d'aquesta pràctica. ;-(")
if a == 1:
print("1, No assoleixes aquesta pràctica. :[")
if a == 2:
print("2, Assoliment satisfactori o.O")
if a == 3:
print("3, Assoliment Notable :-)")
if a == 4:
print("4, Assoliment Excel·lent :-D")
if a > 4:
print("Però que et passa, no entens que has d'escriure un número entre 0 i 4 :-(")
En aquesta condició, si no es compleix el IF s'executarà les instruccions del ELSE.
a = float(input('Escriu un número: '))
if a > 0:
print('A és un número positiu')
else:
print('A és un número negatiu')
El SWITCH o també anomenat ELIF és una eina que ens permet executar diferents codis a partir d'una única condició.
És una instrucció molt similar a utilitzar diversos IF, però estalvia temps de càlcul del programa. Fixem-nos en l'exemple dels dies de la setmana de la dreta.
Si escrivim dia 3 ens mostrarà Dimecres. Què ha fet el programa?
Ha preguntat si el dia == 1, NO
després ha preguntat si el dia == 2 NO
i per últim ha preguntat si el dia == 3, SÍ. com s'ha complert la condició ha mostrat per pantalla Dimecres i ja no ha continuat, acabant el programa i estalviant temps a l'ordinador de preguntar els següents dies.
Si haguéssim utilitzat condicions IF, després de preguntar dia == 3 i complir-se la condició hagués continuant preguntant pel dia == 4, 5, 6 i 7, perdent un temps molt valuós de càlcul.
dia = int(input('Escriu un número: '))
if dia == 1:
print('Dilluns')
elif dia == 2:
print('Dimarts')
elif dia == 3:
print('Dimecres')
elif dia == 4:
print('Dijous')
elif dia == 5:
print('Divendres')
elif dia == 6:
print('Dissabte')
elif dia == 7:
print('Diumenge')
else:
print('Número incorrecte de dia')
Feu un programa anomenat Cognom_Nom_p6.py que faci les tasques següents:
1.- Utilitzant la instrucció per afegir comentaris escrivim: Practiquem els ELIF.
2.- Dins del programa farem el mateix de l'exemple anterior, però en lloc de demanar el número del dia demanarà que escriure el dia de la setmana i com a resultat mostrarà per pantalla el número del dia.
#Practiquem els ELIF
dia = str(input('Escriu el nom del dia de la setmana: '))
if dia == 'Dilluns':
print('1')
elif dia == 'Dimarts':
print('2')
elif dia == 'Dimecres':
print('3')
elif dia == 'Dijous':
print('4')
elif dia == 'Divendres':
print('5')
elif dia == 'Dissabte':
print('6')
elif dia == 'Diumenge':
print('7')
else:
print('Nom incorrecte de dia')
Feu un programa anomenat Cognom_Nom_p7.py que faci les tasques següents:
1.- Crear un menú per triar opcions d'un joc, plataforma de pel·lícules o sèries o qualsevol altra cosa.
2.- Un cop triada l'opció mostri per pantalla quina ha estat la vostra tria.
3.- Mireu l'exemple que he creat d'un restaurant per saber que vull que mostreu.
--- MENÚ DEL RESTAURANT CAN BLAT ---
Opció 1: TAPES
Opció 2: PRIMERS PLATS
Opció 3: SEGONS PLATS
Opció 4: LES POSTRES
Opció 5. BEGUDES
-----------------------------------------------------
Escriu el número de l'opció triada: 3
Has triat l'Opció 3: SEGONS PLATS
#Creem un menú
print('--- MENÚ DEL RESTAURANT CAN BLAT ---')
print('Opció 1: TAPES')
print('Opció 2: PRIMERS PLATS')
print('Opció 3: SEGONS PLATS')
print('Opció 4: LES POSTRES')
print('Opció 5. BEGUDES')
print("------------------------------------")
opcio = int(input("Escriu el número de l'opció triada: "))
if opcio == 1:
print("Has triat l'Opció 1: TAPES")
elif opcio == 2:
print("Has triat l'Opció 2: PRIMERS PLATS")
elif opcio == 3:
print("Has triat l'Opció 3: SEGONS PLATS")
elif opcio == 4:
print("Has triat l'Opció 4: LES POSTRES")
elif opcio == 5:
print("Has triat l'Opció 5. BEGUDES")
else:
print("Número de l'opció incorrecte")
Per millorar el càlcul de la vostra edat cal tenir en compte els anys de traspàs.
Us han enganyat tota la vida! Els anys no són de 365 dies. La Terra necessita 365 dies, 5 hores, 48 minuts i 45,16 segons per donar una volta al Sol. Per esmenar aquesta diferència i evitar que al llarg del temps s'anés acumulant aquestes 5 hores, 48 minuts i 45,16 i com a conseqüència l'estiu fos, per exemple, al mes de gener cal aplicar unes correccions:
Un de cada quatre anys és de traspàs, això vol dir que aquell any té 366 dies.
Els anys que les dues últimes xifres són 00, per exemple: 1700, 1800, 1900…) no serien anys de traspàs, a excepció d'aquells que fossin divisibles entre 400 (per exemple: 1600, 2000, 2400, etc.) que sí ho serien i tindrien 366 dies.
Els anys de traspàs afegim un dia al mes de febrer.
Com aquests càlculs són una mica complicats de fer-los en la vostra pràctica fareu una aproximació:
Creareu un nou botó i un quadre de text que inserireu entre la línia (hr) i el botó Mesos.
El botó tindrà el nom Any de traspàs
A l'esquerra del quadre de text hi haurà un text que dirà: Cal sumar aquests dies.
El nom del quadre de text serà: qt_sumardies
Quan cliqueu el botó Any de traspàs cridareu a una nova funció que dividirà el número d'anys entre 4 i agafareu la part entera de la divisió que seran els dies que s'afegiran als càlculs.
Ajuda: la instrucció per trobar la part entera d'un número és Math.trunc(aquí estarà la variable que guarda els anys que heu viscut).
Data de lliurament de la pràctica:
Comprimiu la carpeta Cognom_Nom_js1 (damunt de la carpeta Cognom_Nom_js1, cliqueu el botó de la dreta del ratolí i trieu Comprimeix... en format ZIP) i pengeu-la a la Plataforma.
Data d'entrega: 14/03/2025.