Condicionals¶
Sentència condicional¶
Sentència usada per al flux d’execució condicional
Sintaxi:
if expressió_booleana_1: sentències_1 elif expressió_booleana_2: sentències_2 ... else: sentències_alternatives
Flux d’execució condicional:
Avalua les expressions booleanes una rere l’altre fins que troba la primera que s’avalua a
TrueAleshores executa les sentències associades a la condició
Si totes les expressions s’avaluen a
FalseAleshores executa les sentències alternatives
Només s’executa un dels blocs de sentències
Exemple
>>> def signe(nombre): ... if nombre > 0: ... s = 1 ... elif nombre < 0: ... s = -1 ... else: ... s = 0 ... return s
>>> signe(-3) -1 >>> signe(0.0) 0 >>> signe(4.3) 1
Condicional alternatiu¶
Les clàusules
elifes poden ometreSintaxi:
if expressió_booleana: sentències_si_cert else: sentències_si_fals
Executa alternativament un bloc de sentències o un altre en funció d’una condició
Exemple: Successions parell/senar
>>> def terme_parell_senar_1(i, terme_ant): ... if (i-1)%2 == 0: ... terme = terme_ant + 5 ... else: ... terme = 2*terme_ant ... return terme
>>> i, x = 1, 1 >>> i += 1 >>> x = terme_parell_senar_1(i, x) >>> i, x (2, 2) >>> i += 1 >>> x = terme_parell_senar_1(i, x) >>> i, x (3, 7)
Condicional simple¶
La clàusula
elsetambé es pot ometreSintaxi:
if expressió_booleana: sentències
Protegeix l’execució d’un bloc de sentències amb una condició
Exemple
>>> def aplica_descompte(preu, preu_minim_descompte, perc_descompte): ... if preu >= preu_minim_descompte: ... preu = preu*(1 - perc_descompte/100) ... return round(preu, 2)
>>> aplica_descompte(73.28, 50, 20) 58.62 >>> aplica_descompte(50, 50, 10) 45.0 >>> aplica_descompte(37.234, 50, 10) 37.23