Curso de Python

Aula 9 - Estruturas Condicionais

Estruturas de Condição Simples (If)

Você já deve saber que o computador executa suas instruções (códigos) de cima para baixo e da esquerda para a direita (O modo como lemos). Porém as estruturas condicionais servem justamente para alterar o fluxo de execução, avaliando condições para determinar se algum bloco de código será executado ou não. As condições são as verificações, ou seja, o programa verifica se a expressão é verdadeira (True) ou falsa (False).

Sintaxe básica do if

if.py
if condição:
    # bloco de códigos

Exemplo 1

if_example1.py
if 5 > 10:
    print('5 é maior que 10')
print('Fim')
Saída:
Fim

Antes de mais nada, uma coisa muitíssima importante é observar os espaços antes da instrução print(), dentro do bloco de códigos do if. Consegue observar que há alguns espaços? O nome disso é indentação, e isso é obrigatório para que o código funcione. Sempre que houver 2 pontos(:) então isso significa que a próxima linha deverá estar indentada (com 4 espaços). Isso sinaliza que aquele bloco de código está dentro da estrutura do if.

Exemplo 2

if_example2.py
if 10 > 1:
    print('10 é maior que 1')
print('Fim')
Saída:
10 é maior que 1
Fim

Exemplo com variável

if_var.py
chovendo = True
if chovendo == True:
    print('Está chovendo!')
print('Fim')
Saída:
Está chovendo!
Fim

Exemplo com condição falsa

if_false.py
pets = False
if pets == True:
    print("Você tem pets!")
print("Fim do programa")
Saída:
Fim do programa

Estruturas de Condição Compostas (If-Else)

As condicionais compostas permitem que o programa escolha entre um bloco de código ou outro. Na estrutura composta, funciona da seguinte forma:

if_else.py
luz = True
if luz == True:
    print('A luz está acessa')
else:
    print('A luz está apagada')
Saída:
A luz está acessa

Exemplo com operadores de comparação

if_else_comp.py
animais = 5
if animais > 3:
    print('Você não pode entrar com mais de 5 animais aqui!')
else:
    print('Pode entrar!')
Saída:
Você não pode entrar com mais de 5 animais aqui!

Exemplo com condição falsa

if_else_false.py
altura = 1.59
if altura > 1.65:
    print('Pode entrar na montanha russa')
else:
    print('Altura insuficiente')
Saída:
Altura insuficiente

Exemplo com strings

if_else_str.py
nome = 'Henrique'
if nome == 'Admin':
    print('Bem vindo, Admin!')
else:
    print('Bem vindo, usuário')
Saída:
Bem vindo, usuário

Estruturas de Condição Encadeada (If-Elif-Else)

Esta estrutura permite que o programa verifique quantas condições forem necessárias. Diferente da condição composta que verifica apenas duas condições.

Exemplo com idade

if_elif.py
idade = 23
if idade <= 18:
    print('Você é um Jovem')
elif idade <= 60:
    print('Você é um adulto')
else:
    print('Você é um idoso')
Saída:
Você é um adulto

Exemplo com semáforo

semaforo.py
semaforo = 'vermelho'
if semaforo == 'verde':
    print('Acelerar!')
elif semaforo == 'amarelo':
    print('Esperar!')
elif semaforo == 'vermelho':
    print('Parar!')
else:
    print('Cor desconhecida!')
Saída:
Parar!

Tópicos Avançados

Quando você tem uma condição verdadeira, você pode simplesmente omitir a parte que compara:

simplificado.py
# Forma completa
if True == True:
    print('Isso é verdadeiro')

# Forma simplificada
if True:
    print('Isso é verdadeiro')
Saída:
Isso é verdadeiro
Isso é verdadeiro

Operador Ternário

Uma estrutura condicional como o if, elif e else utiliza várias linhas de código. Para simplificar, foi criado o operador ternário, que permite realizar a mesma verificação em apenas uma linha! Sua sintaxe é diferente de uma estrutura condicional tradicional com if. Vamos ver como funciona:

Sintaxe do Operador Ternário

ternario_sintaxe.py
valor_verdadeiro if condicao else valor_falso

A sintaxe funciona assim: primeiro, especificamos o valor_verdadeiro que será retornado se a condicao for True. Após o if, colocamos a condição a ser avaliada. Por fim, após o else, indicamos o valor_falso que será retornado se a condição for False.

Exemplo 1: Operador Ternário Simples

ternario_exemplo1.py
print('Verdadeiro' if True else 'Falso')
Saída:
Verdadeiro

Neste exemplo, como a condição é True, o programa imprime 'Verdadeiro'. Se a condição fosse False, ele imprimiria 'Falso'.

Exemplo 2: Comparação com Estrutura Condicional

ternario_exemplo2.py
# Estrutura condicional tradicional
pet = True
if pet:
    print('Possui um pet')
else:
    print('Não possui um pet')

# Operador ternário
pet = True
print('Possui um pet' if pet else 'Não possui um pet')
Saída:
Possui um pet
Possui um pet

No exemplo acima, a variável pet é definida como True. Tanto a estrutura condicional tradicional quanto o operador ternário produzem a mesma saída: 'Possui um pet'. Note que no operador ternário, como pet já é um valor booleano, podemos simplificar a condição omitindo pet == True.

Observação

O operador ternário é ideal para verificações simples com apenas duas condições, pois utiliza apenas if e else. Embora seja possível simular um elif com ternários aninhados, a sintaxe torna-se mais complexa e menos legível, sendo recomendado usar estruturas if-elif-else nesses casos.