Expressões Condicionais
Neste capítulo, exploramos um dos aspectos mais fundamentais da programação em Python — as expressões condicionais utilizando os operadores if
, else
e elif
.
Esses operadores permitem executar diferentes blocos de código com base em condições específicas, proporcionando a capacidade de tomar decisões dinamicamente dentro dos programas. Compreender essas expressões é essencial para desenvolver aplicações que possam reagir de forma eficaz a diversos tipos de entrada e situações.
Veja como Alex demonstra a versatilidade dessas expressões condicionais:
A declaração if
avalia uma condição e executa um bloco de código se a condição for True
. Se a condição não for True
, as declarações else
e elif
(abreviação de "else if") podem especificar condições adicionais para verificar e executar códigos diferentes conforme necessário.
Veja como funcionam:
if
A principal declaração condicional avalia se uma condição é True
. Ela inicia uma sequência condicional. As declarações if
só podem aparecer uma vez no início de uma sequência. Se a condição for avaliada como True
, o bloco de código indentado após a declaração if
será executado.
elif
Abreviação de "else if", a declaração elif
fornece condições adicionais para verificar caso a condição inicial do if
ou qualquer elif
anterior seja False
. É possível incluir múltiplas declarações elif
após um if
para lidar com diferentes cenários, cada uma com sua própria condição.
else
Funciona como um caso geral para situações não tratadas pelas condições anteriores de if
e elif
. Só pode haver um else
ao final de uma sequência de declarações if
, e ele não requer condição.
Exemplos de Aplicação
Vamos começar com uma declaração simples if
/ else
para tomar uma decisão com base em uma única condição. Aqui, estamos tentando determinar se um item de supermercado precisa ser reabastecido com base em seu nível atual de estoque:
# Stock level of an item stock_level = 15 # Simple `if`/`else` to check stock levels if stock_level < 20: print("Stock is low") else: print("Stock is okay")
Este fluxograma demonstra os caminhos de decisão que seu interpretador Python seguiria no exemplo anterior de if-else
:
Em seguida, vamos utilizar a declaração elif
em uma aplicação um pouco mais complexa. Nesta aplicação, usamos as declarações if
/ elif
/ else
para aplicar taxas de desconto com base nos custos totais, incentivando vendas maiores.
# Initial conditions totalCost = 150 # Applying discounts based on purchase amount if totalCost >= 200: print("20% discount applied") elif totalCost >= 100: print("10% discount applied") else: print("No discount for purchases under $100")
Este fluxograma visualiza o processo de aplicação de descontos com base no custo total utilizando as instruções if
, elif
, else
:
Na próxima aplicação, são introduzidas condições aninhadas com if-else
para demonstrar um processo de tomada de decisão mais detalhado. Ao incorporar uma estrutura if-else
dentro de outra, é possível realizar uma série de decisões baseadas em múltiplos critérios.
Este exemplo prático ilustra como um supermercado pode gerenciar o estoque com base no tipo de produto e em condições específicas, como dias desde a entrega ou níveis de estoque.
# Initial conditions product = 'Non-Perishable' stock = 70 # Determine the handling of products based on type and condition if product == 'Perishable': if daysDelivered >= 4: print("Not fresh - Initiate discount") else: print("Product is fresh") elif product == 'Non-Perishable': if stock > 100: print("Consider discount") else: print("No discount needed") else: print("The product is not specified")
O diagrama de árvore de decisão a seguir representa visualmente a lógica aninhada de if-else
utilizada no exemplo de código anterior:
Algumas Observações de Sintaxe
Ao escrever declarações condicionais em Python, é essencial seguir regras sintáticas específicas. Você deve ter notado o papel fundamental dos dois-pontos :
e da indentação na criação de condições executáveis.
Vamos analisar a importância desses pequenos detalhes:
Dois-pontos
Considere o dois-pontos ao final de uma declaração if
, elif
ou else
como um sinal que indica: "Aqui está o que fazer a seguir se a condição que acabei de mencionar for verdadeira." O dois-pontos funciona como um marco, indicando claramente onde as instruções começam.
Indentação
Quando a condição acima de um bloco de código indentado é True
, todas as linhas de código indentadas abaixo dela são executadas. Se não for True
, o Python ignora essas etapas e procura a próxima condição.
Embora esses detalhes possam parecer pequenos, eles são cruciais para garantir que seu código seja executado corretamente. À medida que você se familiariza mais com Python, essas práticas se tornarão automáticas.
Excelente trabalho ao compreender esses aspectos fundamentais do Python! Seu entendimento sobre como estruturar corretamente as instruções de controle estabelece uma base sólida para enfrentar tarefas de programação mais complexas. Agora, vamos colocar suas novas habilidades à prova com um desafio abrangente que permitirá aplicar o que você aprendeu em um cenário prático.
Swipe to start coding
Crie um sistema simples de estratégia de descontos para um supermercado que aplica descontos com base no tipo de produto e no dia da semana.
- Utilize as variáveis de entrada
product_type
eday_of_week
. - Implemente instruções condicionais para verificar:
- Se
product_type
for"Fruits"
eday_of_week
for"Monday"
, exiba uma mensagem de 10% de desconto em frutas; - Se
product_type
for"Vegetables"
eday_of_week
for"Tuesday"
, exiba uma mensagem de 15% de desconto em vegetais; - Se
product_type
for"Dairy"
eday_of_week
for"Wednesday"
, exiba uma mensagem de 20% de desconto em laticínios; - Se
product_type
for"Other"
, exiba"No discount available."
; - Utilize
else
para tratar outros casos em que nenhuma condição seja atendida.
- Se
Requisitos de Saída
- Exiba mensagens como:
"10% discount on Fruits today!"
para cada condição correspondente. - Se
product_type
for"Other"
, exiba"No discount available."
- Se nenhuma condição for atendida, exiba
"No special discounts today."
Solução
Obrigado pelo seu feedback!