Condicionais aninhadas

Uma condicional também pode ser aninhada dentro de outra. Por exemplo, imagine que há duas variáveis x e y. O padrão de seleção mostrado a seguir demonstra como podemos decidir como os valores se relacionam.

if x < y:
    print("x é menor que y")
else:
    if x > y:
        print("x é maior que y")
    else:
        print("x e y devem ser iguais")

A condicional externa contém dois blocos (if e else). O segundo bloco (o else) contém outro comando if, que por sua vez também contém dois blocos. Esses dois blocos poderiam conter mais comandos condicionais, se fosse o caso.

O fluxo de controle desse exemplo pode ser visto neste fluxograma:

_images/flowchart_nested_conditional.png

Veja aqui um programa completo que define valores para x and y. Execute o programa e veja o resultado. Depois modifique os valores das varíaveis para alterar o fluxo de execução.

Nota

Em algumas linguagens de programação, achar o else correspondente a um if pode ser um problema. Porém, em Python isso não acontece: a indentação (deslocamento) do código nos diz exatamente qual else pertence a qual if.

Se você ainda está em dúvida, aqui está o mesmo programa como parte de um exemplo “codelens”. Execute passo a passo para ver como o print correto é escolhido.

(sel1)

Veja se você entendeu!

Next Section - Condicionais encadeadas