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:

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!
- Não
- Este é um comando if-else aninhado válido. O if-else interno está contido completamente dentro do corpo do bloco else externo.
- Sim
- Este é um comando if-else aninhado válido. O if-else interno está contido completamente dentro do corpo do bloco else externo.
select-6-1: O código abaixo irá gerar um erro?
x = -10
if x < 0:
print("O número negativo", x, "não é válido aqui.")
else:
if x > 0:
print(x, "é um número positivo")
else:
print(x,"vale 0")