Lista de Exercícios – Python Básico

Foco em if / elif / else, operadores matemáticos e lógicos. Cada desafio inclui contexto, objetivos, critérios de avaliação, dicas e um esqueleto de código.

Módulo: Fundamentos de Programação • Linguagem: Python 3.x

1) Verificador de Par ou Ímpar operador %

Nível: Iniciante Condição simples

Contexto: Em diversos sistemas, é útil classificar números rapidamente (ex.: distribuição de IDs em grupos pares/ímpares).

Objetivo: Ler um número inteiro e informar se ele é par ou ímpar.

  • Entrada: um inteiro.
  • Saída: “par” ou “ímpar”.
  • Critérios: uso correto de % e if/else.
Dica: números pares têm resto 0 na divisão por 2.
Esqueleto sugerido
n = int(input("Digite um número inteiro: "))
if n % 2 == 0:
    print("par")
else:
    print("ímpar")

2) Maior de Dois Números comparadores

Nível: Iniciante Operadores: >, ==

Contexto: Selecionar o maior orçamento ou a maior nota é uma tarefa comum.

Objetivo: Ler dois números e exibir o maior (ou “iguais”).

  • Critérios: cobrir os três casos: A>B, B>A e A==B.
Esqueleto sugerido
a = float(input("A: "))
b = float(input("B: "))
if a > b:
    print("Maior:", a)
elif b > a:
    print("Maior:", b)
else:
    print("Iguais")

3) Média: Aprovado, Recuperação ou Reprovado faixas

Nível: Iniciante Operadores: >=, <

Contexto: Simule a regra de aprovação de uma disciplina.

Objetivo: Ler duas notas, calcular a média e classificar:

  • Média ≥ 7 → Aprovado
  • 5 ≤ Média < 7 → Recuperação
  • Média < 5 → Reprovado
Esqueleto sugerido
n1 = float(input("Nota 1: "))
n2 = float(input("Nota 2: "))
media = (n1 + n2) / 2
if media >= 7:
    print("Aprovado")
elif media >= 5:
    print("Recuperação")
else:
    print("Reprovado")

4) Verificação de Maioridade limiar 18

Nível: Iniciante Operadores: >=

Contexto: Controle de acesso a conteúdos ou serviços.

Objetivo: Ler a idade e informar “menor de idade” ou “maior de idade”.

Esqueleto sugerido
idade = int(input("Idade: "))
if idade >= 18:
    print("Maior de idade")
else:
    print("Menor de idade")

5) Calculadora Simples +, -, *, /

Nível: Intermediário Seleção por operador

Contexto: Implementar uma operação com base em um símbolo informado pelo usuário.

Objetivo: Ler dois números e um operador (+ - * /) e calcular o resultado.

  • Extra: tratar divisão por zero.
Esqueleto sugerido
a = float(input("A: "))
b = float(input("B: "))
op = input("Operador (+ - * /): ")
if op == "+":
    print(a + b)
elif op == "-":
    print(a - b)
elif op == "*":
    print(a * b)
elif op == "/":
    if b != 0:
        print(a / b)
    else:
        print("Erro: divisão por zero")
else:
    print("Operador inválido")

6) Desconto em Compra regra de negócio

Nível: Iniciante Operadores: >=

Contexto: Política de descontos em e-commerce.

Objetivo: Se a compra for ≥ R$100, aplicar 10% de desconto; caso contrário, exibir o valor cheio.

Esqueleto sugerido
valor = float(input("Valor da compra (R$): "))
if valor >= 100:
    total = valor * 0.9
else:
    total = valor
print(f"Total a pagar: R$ {total:.2f}")

7) Ano Bissexto múltiplos

Nível: Intermediário Operadores: %, and, or

Contexto: Calendários e regras de recorrência.

Objetivo: Determinar se um ano é bissexto usando a regra: divisível por 4 e não por 100, a menos que seja divisível por 400.

Esqueleto sugerido
ano = int(input("Ano: "))
if (ano % 400 == 0) or (ano % 4 == 0 and ano % 100 != 0):
    print("Bissexto")
else:
    print("Não bissexto")

8) Senha Secreta igualdade

Nível: Iniciante Operadores: ==

Contexto: Autenticação básica (educacional).

Objetivo: Comparar a entrada do usuário com senha = "python123" e exibir “Acesso permitido” ou “Acesso negado”.

Esqueleto sugerido
senha_cadastrada = "python123"
entrada = input("Senha: ")
if entrada == senha_cadastrada:
    print("Acesso permitido")
else:
    print("Acesso negado")

9) Maior de Três Números comparadores

Nível: Intermediário Encadeamento

Contexto: Seleção do maior valor entre três candidatos sem usar funções prontas.

Objetivo: Ler três números e exibir o maior.

Esqueleto sugerido
a = float(input("A: "))
b = float(input("B: "))
c = float(input("C: "))

maior = a
if b > maior:
    maior = b
if c > maior:
    maior = c

print("Maior:", maior)

10) Classificador de Temperatura faixas

Nível: Iniciante elif

Contexto: Sistemas de monitoramento ambiental e conforto térmico.

Objetivo: Classificar a temperatura (°C):

  • < 0 → “Congelante”
  • 0 a 20 → “Frio”
  • 21 a 30 → “Agradável”
  • > 30 → “Quente”
Esqueleto sugerido
t = float(input("Temperatura (°C): "))
if t < 0:
    print("Congelante")
elif t <= 20:
    print("Frio")
elif t <= 30:
    print("Agradável")
else:
    print("Quente")

11) Validação e Classificação de Triângulos regras compostas

Nível: Intermediário+ Operadores: >, <, and

Contexto: Em geometria computacional é comum verificar se três segmentos podem formar um triângulo e qual é o seu tipo.

Objetivo: Ler três comprimentos (a, b, c). Primeiro, validar a existência do triângulo (cada lado < soma dos outros dois). Se válido, classificar como equilátero, isósceles ou escaleno.

  • Entrada: três números positivos.
  • Saída: “não forma triângulo” ou o tipo correspondente.
  • Critérios: encadeamento correto de condições e validação antes da classificação.
Dica: valide primeiro; só depois classifique.

12) Classificação de IMC com Alertas faixas e validação

Nível: Intermediário+ Operadores: <, <=, >=, elif

Contexto: Sistemas simples de triagem exibem faixas de IMC para orientar encaminhamentos.

Objetivo: Ler peso (kg) e altura (m), calcular o IMC (= peso/altura²) e classificar: < 18.5 “Abaixo do peso”; 18.5–24.9 “Normal”; 25–29.9 “Sobrepeso”; ≥ 30 “Obesidade”. Caso a altura ≤ 0 ou peso ≤ 0, exibir “dados inválidos”.

  • Entrada: dois números reais (peso, altura).
  • Saída: Faixa do IMC e o valor arredondado a 1 casa.
  • Critérios: tratamento de entradas inválidas e faixas corretas.
Dica: ordene as condições para evitar sobreposição de faixas.

13) Conta de Energia com Faixas Progressivas regras por faixa

Nível: Intermediário/Avançado Operadores: +, -, *, and, elif

Contexto: Tarifas residenciais costumam ter preços por faixa de consumo.

Objetivo: Ler o consumo em kWh e calcular o valor a pagar segundo esta política (exemplo didático): até 100 kWh → R$ 0,50/kWh; 101–200 kWh → R$ 0,75/kWh apenas para a parte que exceder 100; > 200 kWh → R$ 1,20/kWh apenas para a parte acima de 200. Exibir também a alíquota efetiva (valor/consumo).

  • Entrada: inteiro ou real de consumo.
  • Saída: valor total e alíquota efetiva.
  • Critérios: cálculo por partes com condicionais encadeadas.
Dica: some os trechos por faixa ao invés de usar um único preço.

14) Avaliador de Força de Senha lógica composta

Nível: Avançado (sem regex) Operadores: and, or, not, in

Contexto: Políticas de segurança exigem múltiplos critérios.

Objetivo: Ler uma senha e classificá-la como “Fraca”, “Média” ou “Forte” com base em critérios como: tamanho (mín. 8), conter dígitos, letras maiúsculas, letras minúsculas e pelo menos um símbolo (!@#$%&*?). Use apenas operações básicas (sem regex). Se faltar mais de dois critérios, considerar “Fraca”.

  • Entrada: string.
  • Saída: categoria e quais critérios faltaram.
  • Critérios: combinação de condições lógicas e contagem de faltas.
Dica: crie variáveis booleanas para cada critério e combine-as com and/or.

15) Elegibilidade a Bolsa Acadêmica and / or / not

Nível: Avançado Operadores: and, or, not, >=, <

Contexto: Critérios de concessão de bolsas combinam desempenho e condições socioeconômicas.

Objetivo: Ler média final (0–10), frequência (%), renda per capita (R$) e se possui atividade de extensão (S/N). Conceder bolsa se: (média ≥ 7 and frequência ≥ 75) and (renda <= 1.5 salário mínimo, use R$ 1.980 como referência) or (média ≥ 9 and participação em extensão). Exibir “Concedida” ou “Negada” e o motivo.

  • Entrada: números (média, frequência, renda) e um caractere para extensão.
  • Saída: decisão e justificativa.
  • Critérios: uso claro de and, or, not (se desejar negar um caso), e precedência/agrupamento com parênteses.
Dica: explicite os parênteses nas expressões para evitar ambiguidades.

© 2025 – Lista preparada para fins educacionais.