⬅ Voltar ao Dashboard Capítulo 4 — Condições

❓ A Estrutura if

Seção 4.1 — Condições simples e blocos de código

🔀 Executar ou não executar?

Nem sempre todas as linhas dos programas serão executadas. Muitas vezes, será mais interessante decidir que partes do programa devem ser executadas com base no resultado de uma condição. A base dessas decisões consistirá em expressões lógicas que permitam representar escolhas em programas.

As condições servem para selecionar quando uma parte do programa deve ser ativada e quando deve ser simplesmente ignorada. Em Python, a estrutura de decisão é o if. Seu formato é:

Listagem 4.1 — Formato do ifif <condição>: bloco verdadeiro

O if nada mais é que o nosso "se": se a condição for verdadeira, faça alguma coisa. O bloco de código dentro do if é indicado pelo recuo (indentação) — use 4 espaços ou 1 tab.

💡 Trivia — Indentação em Python Python é uma das poucas linguagens que utiliza o deslocamento do texto à direita (recuo) para marcar o início e o fim de um bloco. Outras linguagens usam palavras especiais como BEGIN/END (Pascal) ou chaves { } (C e Java).

🔢 Comparando dois valores

Vamos ler dois números e verificar qual é o maior. Cada if é avaliado de forma independente:

Listagem 4.2 — Condiçõesa = int(input("Primeiro valor: ")) b = int(input("Segundo valor: ")) if a > b: print("O primeiro número é o maior!") if b > a: print("O segundo número é o maior!")

A expressão a > b será avaliada, e se o resultado for True, a linha do print será executada. Se for False, será ignorada. O mesmo acontece para b > a. Note que as linhas com if foram terminadas com dois pontos (:) — isso é obrigatório em Python.

🚗 Carro novo ou velho

Outro exemplo: solicitar a idade do carro e exibir se é novo ou velho. Carros com até 3 anos são considerados novos:

Listagem 4.3 — Carro novo ou velhoidade = int(input("Digite a idade do seu carro: ")) if idade <= 3: print("Seu carro é novo") if idade > 3: print("Seu carro é velho")

Note que as duas condições são sempre opostas: se uma for verdadeira, a outra será necessariamente falsa. Veremos uma maneira mais elegante de expressar isso na próxima aula com o else.

💰 Cálculo do Imposto de Renda

Um exemplo mais avançado: calcular o imposto de renda em faixas. Salários até R$ 1.000 estão isentos; entre R$ 1.000 e R$ 3.000 pagam 20%; acima de R$ 3.000 pagam 35% sobre o excedente:

Listagem 4.4 — Cálculo do Imposto de Rendasalário = float(input("Digite o salário para cálculo do imposto: ")) base = salário imposto = 0 if base > 3000: imposto = imposto + ((base - 3000) * 0.35) base = 3000 if base > 1000: imposto = imposto + ((base - 1000) * 0.20) print("Salário: R$%6.2f Imposto a pagar: R$%6.2f" % (salário, imposto))

💡 A variável base guarda uma cópia do salário. Isso é necessário porque vamos modificar base durante o cálculo, mas precisamos do valor original de salário para exibi-lo no final. Os dois ifs são independentes e ambos serão avaliados.

✏ Exercícios

Exercício 4.1

Analise o programa da Listagem 4.2. Responda: o que acontece se o primeiro e o segundo valores forem iguais? Explique.

Exercício 4.2

Escreva um programa que pergunte a velocidade do carro de um usuário. Caso ultrapasse 80 km/h, exiba uma mensagem dizendo que o usuário foi multado. Nesse caso, exiba o valor da multa, cobrando R$ 5 por km acima de 80 km/h.

Exercício 4.3

Escreva um programa que leia três números e que imprima o maior e o menor.

Exercício 4.4

Escreva um programa que pergunte o salário do funcionário e calcule o valor do aumento. Para salários superiores a R$ 1.250,00, calcule um aumento de 10%. Para os inferiores ou iguais, de 15%.