Controla o fluxo do código com lógica condicional (if, elif, else)
Sugestão
Consulte a guia Texto e imagens para obter mais detalhes!
Agora que o seu programa pode avaliar condições, pode usá-las para orientar os caminhos que o seu código pode seguir. Python utiliza if, elif, e else instruções para orientar o fluxo do seu programa com base em resultados Verdadeiros ou Falsos. Esta abordagem chama-se lógica condicional.
A instrução if
Uma if instrução executa um bloco de código apenas quando uma condição é True. O código dentro deve ser indentado — o Python usa indentação para saber quais linhas pertencem ao bloco:
score = 85
if score >= 90:
print("Congratulations!")
print("Grade: A")
print("Program complete.")
Se score for inferior a 90, o código indentado dentro do if bloco é ignorado, e o programa continua com a linha seguinte ao bloco.
Regras da indentação e dos dois-pontos
Python usa regras rigorosas para agrupar blocos de código:
Dois pontos (
:): Deve colocar dois pontos no final de uma declaração condicional. Isso diz ao Python que as próximas linhas indentadas pertencem a esse bloco condicional.Indentação: Cada linha no mesmo bloco deve usar a mesma indentação. Use quatro espaços (ou um Tab) de forma consistente.
Para completar o bloco de código, deve desinguer a linha seguinte ao bloco. Esta linha sem recuo sinaliza ao Python que o bloco terminou. No exemplo acima, a linha print("Program complete.") não tem indentação, pelo que corre independentemente da if condição.
Adicionar caminhos alternativos com else
Use else para executar um bloco de código diferente quando a condição é False:
score = 75
if score >= 90:
print("Grade: A")
else:
print("Grade: B or lower")
Condições de encadeamento com elif
Quando tiveres mais do que dois caminhos possíveis, podes usar elif (abreviatura de "else if") para verificar condições extra.
Vitórias no primeiro jogo
Python verifica cada condição por ordem. Quando encontra a primeira True condição, executa esse bloco e salta o resto. Se nenhuma das condições for True, executa o else bloco (se presente).
score = 85
if score >= 90:
print("Grade: A")
elif score >= 80: # Python stops here! 85 >= 80 is True.
print("Grade: B")
elif score >= 70: # Skipped entirely, even though 85 >= 70 is also true.
print("Grade: C")
else: # Skipped entirely.
print("Grade: D or lower")
Output:
Grade: B
Como o Python sai da cadeia após a primeira True condição, certifica-te de ordenar as tuas condições do mais específico para o menos específico. Caso contrário, pode nunca atingir as condições que espera.