Ramificações
Ramificações no fluxo de declarações com o if
Algumas vezes queremos fazer ações diferentes dependendo de uma condição. Exemplo:
Uma implementação Python de $f$ precisa testar o valor de $x$ e ramificar entre dois cálculos diferentes:
Forma geral de testes if
A forma geral de escrita é: se-senão, no código if-else
, sendo que o else
é opcional.
if condicional:
<bloco de declarações, executados quando a condição no if é True>
else:
<bloco de declarações, executados quando a condição no if é False>
Também é possível um composição com múltiplos if-else
:
if condicional1:
<bloco de declarações>
elif condicional2:
<bloco de declarações>
elif condicional3:
<bloco de declarações>
else:
<bloco de declarações>
<próxima declaração>
Exemplo com múltipla ramificação
Uma função definida por partes:
A implementação em Python com múltiplas ramificações com if-else
:
def N(x):
if x < 0:
return 0
elif 0 <= x < 1:
return x
elif 1 <= x < 2:
return 2 - x
elif x >= 2:
return 0
Testes if
em linha para códigos mais curtos
Construção padrão:
if condicional:
variavel = valor1
else:
variavel = valor2
Sintaxe mais compacta com if-else
em uma linha:
variavel = (valor1 if condicional else valor2)
Exemplo:
def f(x):
return (sin(x) if 0 <= x <= 2*pi else 0)