Pular para o conteúdo
EasyCode Praticar grátis

10 Exercícios de Python para Iniciantes com Solução

Coletânea prática de lógica com gabarito explicado · Teste direto no navegador

Como estudar esta lista

Resolver exercícios práticos é o caminho mais eficaz para consolidar a sintaxe do Python e desenvolver autonomia de raciocínio. Recomendamos ler o enunciado de cada questão, tentar elaborar o código por conta própria e depois conferir a solução comentada para comparar lógicas e técnicas de resolução.

Ordem Progressiva Do primeiro print() com variáveis até dicionários e funções reutilizáveis.
Soluções Testadas Código moderno em Python 3 com comentários explicativos em cada linha.
Prática no Navegador Abra qualquer exercício diretamente no editor interativo sem instalar nada.

1. Olá Mundo e Variáveis Formatadas

Enunciado: Crie um programa que armazene seu nome e sua idade em variáveis separadas e exiba uma mensagem de apresentação personalizada utilizando f-strings.

Solução comentada:

# Exercício 1: Olá Mundo e Variáveis
nome = "Ana"
idade = 22

# Exibe a mensagem interpolando os valores
print(f"Olá! Meu nome é {nome} e tenho {idade} anos.")

Resultado esperado:

Olá! Meu nome é Ana e tenho 22 anos.

As f-strings (prefixo f antes das aspas) permitem inserir variáveis diretamente dentro do texto entre chaves {}, garantindo legibilidade e clareza.

▶ Testar no Editor Interativo

2. Cálculo de Média Escolar Aritmética

Enunciado: Defina três variáveis contendo notas de 0 a 10. Calcule a média aritmética simples e imprima o resultado formatado com exatamente uma casa decimal.

Solução comentada:

# Exercício 2: Cálculo de Média
nota1 = 7.5
nota2 = 8.0
nota3 = 9.5

# Parênteses garantem a precedência da soma
media = (nota1 + nota2 + nota3) / 3
print(f"Média final: {media:.1f}")

Resultado esperado:

Média final: 8.3

O uso dos parênteses garante que a soma das três notas ocorra antes da divisão por 3. A formatação :.1f arredonda a exibição para uma casa decimal.

▶ Testar no Editor Interativo

3. Verificador de Número Par ou Ímpar

Enunciado: Escreva um programa que analise um número inteiro e informe se ele é par ou ímpar utilizando o operador de módulo (resto da divisão).

Solução comentada:

# Exercício 3: Par ou Ímpar
numero = 14

# Se o resto da divisão por 2 for zero, o número é par
if numero % 2 == 0:
    print(f"O número {numero} é PAR.")
else:
    print(f"O número {numero} é ÍMPAR.")

Resultado esperado:

O número 14 é PAR.

O operador % calcula o resto da divisão inteira. Todo número par dividido por 2 deixa resto 0, enquanto números ímpares deixam resto 1.

▶ Testar no Editor Interativo

4. Classificação de Faixa Etária com if/elif/else

Enunciado: Desenvolva uma rotina que classifique uma pessoa como 'Menor de idade' (menos de 18 anos), 'Adulto' (18 a 59 anos) ou 'Idoso' (60 anos ou mais).

Solução comentada:

# Exercício 4: Classificação por Idade
idade = 17

if idade < 18:
    print("Menor de idade")
elif idade < 60:
    print("Adulto")
else:
    print("Idoso")

Resultado esperado:

Menor de idade

A estrutura if-elif-else testa as condições em ordem e executa exclusivamente o primeiro bloco cuja expressão for verdadeira.

▶ Testar no Editor Interativo

5. Tabuada de Multiplicação com Laço for

Enunciado: Imprima a tabuada completa de multiplicação para um número de sua escolha, variando o multiplicador de 1 até 10 com a função range().

Solução comentada:

# Exercício 5: Tabuada com laço for
numero = 7

# range(1, 11) gera os multiplicadores de 1 a 10
for i in range(1, 11):
    print(f"{numero} x {i} = {numero * i}")

Resultado esperado:

7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
7 x 4 = 28
7 x 5 = 35
7 x 6 = 42
7 x 7 = 49
7 x 8 = 56
7 x 9 = 63
7 x 10 = 70

O laço for percorre sequências geradas pelo range(). Em Python, range(1, 11) inclui o valor inicial 1 e para antes do valor final 11.

▶ Testar no Editor Interativo

6. Soma Progressiva com Laço while

Enunciado: Utilize o laço while para acumular e exibir a soma de todos os números inteiros de 1 até um determinado valor limite.

Solução comentada:

# Exercício 6: Soma progressiva com while
limite = 5
soma = 0
contador = 1

while contador <= limite:
    soma += contador
    contador += 1

print(f"Soma de 1 até {limite}: {soma}")

Resultado esperado:

Soma de 1 até 5: 15

O laço while é ideal quando queremos iterar enquanto uma condição for verdadeira. É fundamental incrementar o contador para evitar loops infinitos.

▶ Testar no Editor Interativo

7. Maior e Menor Valor em uma Lista

Enunciado: Crie uma lista com valores numéricos representando preços e encontre o maior e o menor preço utilizando funções nativas do Python.

Solução comentada:

# Exercício 7: Maior e menor valor em lista
precos = [120.50, 45.00, 89.90, 310.00, 15.75]

mais_caro = max(precos)
mais_barato = min(precos)

print(f"Maior preço: R$ {mais_caro:.2f}")
print(f"Menor preço: R$ {mais_barato:.2f}")

Resultado esperado:

Maior preço: R$ 310.00
Menor preço: R$ 15.75

As funções nativas max() e min() operam sobre qualquer iterável numérico, dispensando laços manuais e otimizando a velocidade de execução.

▶ Testar no Editor Interativo

8. Contador de Caracteres Específicos em String

Enunciado: Escreva um algoritmo que receba uma frase e conte quantas vogais (a, e, i, o, u) ela contém, ignorando diferenças entre maiúsculas e minúsculas.

Solução comentada:

# Exercício 8: Contagem de vogais
frase = "aprenda a programar"
vogais = "aeiou"
total_vogais = 0

for letra in frase.lower():
    if letra in vogais:
        total_vogais += 1

print(f"Total de vogais encontradas: {total_vogais}")

Resultado esperado:

Total de vogais encontradas: 7

O método .lower() normaliza o texto para minúsculas e o operador in verifica a presença de cada caractere dentro do conjunto de vogais.

▶ Testar no Editor Interativo

9. Função Reutilizável de Cálculo de Desconto

Enunciado: Defina uma função chamada aplicar_desconto que receba o preço original e o percentual de desconto, retornando o preço final calculado.

Solução comentada:

# Exercício 9: Função com retorno de valor
def aplicar_desconto(preco, porcentagem):
    valor_desconto = preco * (porcentagem / 100)
    return preco - valor_desconto

preco_final = aplicar_desconto(200.0, 15)
print(f"Preço com 15% de desconto: R$ {preco_final:.2f}")

Resultado esperado:

Preço com 15% de desconto: R$ 170.00

A instrução def cria blocos reutilizáveis com parâmetros. A palavra reservada return envia o valor processado de volta para quem chamou a função.

▶ Testar no Editor Interativo

10. Dicionário de Dados com Regra de Aprovação

Enunciado: Armazene os dados de um estudante em um dicionário (nome, matéria e lista de notas), calcule a média e adicione a chave 'aprovado' ao registro.

Solução comentada:

# Exercício 10: Dicionário e regra de negócio
aluno = {
    "nome": "Carlos",
    "materia": "Python",
    "notas": [8.0, 7.5, 9.0]
}

# Calcula a média a partir da lista interna
media = sum(aluno["notas"]) / len(aluno["notas"])
aluno["aprovado"] = media >= 7.0

print(f"Aluno: {aluno['nome']}")
print(f"Média: {media:.1f}")
print(f"Aprovado: {aluno['aprovado']}")

Resultado esperado:

Aluno: Carlos
Média: 8.2
Aprovado: True

Dicionários agrupam dados heterogêneos sob chaves descritivas. Novas propriedades podem ser inseridas dinamicamente atribuindo um valor a uma nova chave.

▶ Testar no Editor Interativo

Perguntas Frequentes sobre Exercícios de Python

Como resolver os exercícios de Python no EasyCode?

Você pode ler o enunciado de cada exercício, tentar elaborar a sua própria solução e clicar no botão 'Testar no Editor Interativo' para digitar e executar o código diretamente no navegador via WebAssembly.

Os exercícios de Python são indicados para iniciantes?

Sim. A lista foi desenhada em ordem progressiva de dificuldade, começando com conceitos básicos de saída de dados (print) e variáveis, avançando para condicionais, laços de repetição (for e while), manipulação de listas e criação de funções.

Preciso instalar algum programa para executar as soluções?

Não. O EasyCode executa Python 3 diretamente no navegador sem exigir instalação de interpretadores, compiladores ou extensões locais.

Existe correção automática dos exercícios no site?

Sim. Além deste guia aberto com gabarito comentado, a plataforma conta com uma área de desafios e aulas interativas com verificação passo a passo em tempo real.

Apoie o EasyCode 💜

O EasyCode é gratuito, independente e sem anúncios. Manter a plataforma rápida, com compiladores no navegador e novos conteúdos atualizados tem custos reais todo mês. Se o site está te ajudando a aprender, veja como apoiar o projeto para continuarmos sempre no ar e acessíveis para todos.

💜 Conhecer e apoiar o projeto