Conditionals

Valors i expressions booleanes

Operadors booleans

Igualtat en nombres en coma flotant

>>> x = 0.1*3
>>> y = 0.3
>>> x == y
False
>>> epsilon = 1e-7
>>> abs(x-y) < epsilon
True
  • Cal decidir una tolerància \(\epsilon\).

Execució condicional

  • Composició condicional: permet protegir l’execució d’un bloc de sentències amb una condició.

  • Sintaxi:

    if expressió_booleana:      # capçalera (header)
        sentències              # cos (body)
    
  • El cos és un bloc (block): les sentències del bloc estan sagnades amb espais en blanc respecte de la capçalera.

  • How to think … Conditional execution

Execució alternativa

  • Composició condicional: permet l’execució alternativa d’un bloc de sentències o d’un altre en funció d’una condició.

  • Sintaxi:

    if expressió_booleana:
        sentències_si_cert
    else:
        sentències_si_fals
    
  • Branques (branches) en el flux d’execució.

  • Sentència nul·la: pass.

  • How to think … Conditional execution

Condicionals encadenats

  • Composició condicional: permet un nombre arbitrari de branques protegides per expressions booleanes.

  • Sintaxi:

    if expressió_booleana_1:
        sentències_1
    elif expressió_booleana_2:
        sentències_2
    ...
    else:
        sentències_alternatives
    
  • How to think … Chained conditionals

Condicionals imbricats

Funcions booleanes