
Range em Python: descubra o que é a função range e como usá-la

Quer testar suas habilidades em Python? Desafie seus conhecimentos com esta lista de 10 exercícios de Python para iniciantes!
Já ouviu dizer que “a prática leva à perfeição”? Quando estamos aprendendo Python, isso não é diferente. Resolver exercícios de Python é uma das formas mais eficazes de melhorar suas habilidades em programação Python. E, com este artigo, você fará exatamente isso!
Aqui, te apresentaremos 10 exercícios de Python, cuidadosamente selecionados para iniciantes na programação. Cada questão está acompanhada de uma resolução completa em código, além de uma explicação do código Python. Assim, você entenderá exatamente como cada solução funciona.
Esses exercícios ajudarão não só a conhecer melhor a linguagem Python, como também a praticar seus conhecimentos e desenvolver suas habilidade em lógica de programação.
Caso você ainda não tenha conhecimentos na linguagem Python, recomendamos acessar o nosso curso gratuito Python para Iniciantes: do zero ao primeiro projeto, que te leva do absoluto zero ao seu primeiro dashboard em duas horas. Basta criar um cadastro para ter acesso ao conteúdo completo do curso.
Do contrário, vamos em frente com os exercícios de Python!
Vamos começar com um exercício simples. Você possui algumas variáveis em Python que descrevem alguns dos seus atributos:
nome = "Ana"
idade = 25
cidade = "São Paulo"
TestarCom base nessas variáveis, gere uma apresentação curta de si mesmo, por exemplo:
"Olá! Meu nome é Ana. Eu tenho 25 anos e moro em São Paulo."
nome = "Ana"
idade = 25
cidade = "São Paulo"
apresentacao = f"Olá! Meu nome é {nome}. Eu tenho {idade} anos e moro em {cidade}."
print(apresentacao)
# output:
# Olá! Meu nome é Ana. Eu tenho 25 anos e moro em São Paulo.
TestarNeste exercício, utilizamos as f-strings do Python para inserir variáveis dentro da string apresentacao
de forma simples e prática. Em uma f-string, usamos chaves ( { }
) para indicar onde as variáveis serão inseridas. Neste caso, os trechos {nome}
, {idade}
e {cidade}
são substituídos pelos valores das respectivas variáveis.
A variável apresentacao
contém a string final, que exibimos na última linha do código.
Seguimos agora para um exercício clássico de Python. Dada uma lista de números em Python:
numeros = [10, 20, 30, 40, 50]
TestarCalcule a média dos valores dessa lista.
numeros = [10, 20, 30, 40, 50]
soma = 0
for numero in numeros:
soma += numero
media = soma / len(numeros)
print("A média dos números é:", media)
# output:
# A média dos números é: 30.0
TestarNesse código, temos uma lista de números chamada numeros
. Para calcular a média, primeiro inicializamos uma variável soma
com o valor zero. Em seguida, percorremos cada número na lista numeros
usando um for loop for e adicionamos cada número à variável soma
.
Depois de percorrer todos os números, dividimos a soma pelo número total de elementos na lista numeros
, que obtemos através da função len()
. Com essa operação, obtemos a média. Então, ao final do código, exibimos a média usando a função print()
.
Neste exercício, você possui duas listas de Python. Cada lista representa os gastos do mês de dois amigos, João e Pedro. Cada valor na lista representa o gasto em uma das semanas do mês:
gastos_joao = [300, 500, 200, 800]
gastos_pedro = [200, 400, 500, 700]
TestarSeu objetivo é encontrar quem gastou mais dinheiro ao longo do mês, João ou Pedro. Para isso, crie um código em Python que responda a essa pergunta.
gastos_joao = [300, 500, 200, 800]
gastos_pedro = [200, 300, 500, 700]
total_gastos_joao = sum(gastos_joao)
total_gastos_pedro = sum(gastos_pedro)
if total_gastos_joao > total_gastos_pedro:
print("João gastou mais dinheiro este mês.")
elif total_gastos_pedro > total_gastos_joao:
print("Pedro gastou mais dinheiro este mês.")
else:
print("João e Pedro gastaram a mesma quantia este mês.")
# output:
# João gastou mais dinheiro este mês.
TestarPrimeiro, somamos todos os gastos de João e Pedro usando a função sum()
. Dessa forma, são criadas as variáveis total_gastos_joao
e total_gastos_pedro
. Em seguida, comparamos os totais de gastos usando uma estrutura condicional (if
, elif
, else
) para determinar quem gastou mais (ou se ambos gastaram a mesma quantidade). Por fim, o código exibe o resultado da comparação.
Partindo de uma lista de palavras qualquer, como:
palavras = ["python", "asimov", "código", "web", "programação"]
TestarCrie um código que seja capaz de encontrar e exibir a maior e a menor palavra da lista (em número de caracteres).
palavras = ["python", "asimov", "código", "web", "programação"]
maior_palavra = palavras[0]
menor_palavra = palavras[0]
for palavra in palavras:
if len(palavra) > len(maior_palavra):
maior_palavra = palavra
if len(palavra) < len(menor_palavra):
menor_palavra = palavra
print("A maior palavra é:", maior_palavra)
print("A menor palavra é:", menor_palavra)
# output:
# A maior palavra é: programação
# A menor palavra é: web
TestarNesse código, iniciamos as variáveis maior_palavra
e menor_palavra
com a primeira palavra da lista palavras
. Em seguida, percorremos a lista com um for loop. Para cada palavra, comparamos o comprimento dela (usando a função len()
) com o comprimento das palavras armazenadas em maior_palavra
e menor_palavra
.
Se encontrarmos uma palavra com um comprimento maior que maior_palavra
, atualizamos essa variável. Fazemos a mesma operação com menor_palavra
, atualizando a variável caso encontremos uma palavra de menor tamanho.
Assim, garantimos que teremos encontrado a maior e a menor palavra da lista ao final da iteração. Por fim, exibimos essas palavras com a função print()
.
Nesta atividade, você possui uma lista de números qualquer. Por exemplo:
numeros = [32, 10, 58, 30, 55, 12, 28, 51]
TestarSeu objetivo é encontrar o segundo maior valor da lista (supondo que ela possua pelo menos dois elementos).
numeros = [32, 10, 58, 30, 55, 12, 28, 51]
numeros.sort()
segundo_maior = numeros[-2]
print("O segundo maior valor da lista é:", segundo_maior)
# output:
# O segundo maior valor da lista é: 55
TestarNessa solução, utilizamos o método .sort()
para ordenar a lista numeros
em ordem crescente. Note que o método .sort()
opera diretamente sobre a lista, portanto não é preciso guardar nenhum resultado em uma variável.
Uma vez feita essa ação, podemos encontrar o segundo maior elemento realizando uma indexação na lista. Como os valores foram ordenados, o segundo maior valor corresponderá ao penúltimo elemento da lista, o qual acessamos pela indexação numeros[-2]
. Em seguida, basta exibi-lo para resolver o exercício.
Você fez uma pequena pesquisa de preferência entre três produtos A
, B
e C
. Na entrevista, cada entrevistado precisava escolher seu produto preferido. Os votos obtidos nessa pesquisa estão representados na lista abaixo:
votos = ["A", "B", "A", "C", "C", "A", "C", "C", "B", "A"]
TestarAgora, seu objetivo é calcular qual produto foi o mais votado. A partir da lista de votos, crie um dicionário onde a chave é cada produto, e o valor é o número de votos que o produto recebeu.
votos = ["A", "B", "A", "C", "C", "A", "C", "C", "B", "A"]
contagem_votos = {}
for produto in votos:
if produto in contagem_votos:
contagem_votos[produto] += 1
else:
contagem_votos[produto] = 1
print(contagem_votos)
# output:
# {'A': 4, 'B': 2, 'C': 4}
TestarPara criar um dicionário com o número de votos para cada produto, podemos iterar pela lista de votos e contar quantas vezes cada produto aparece.
No código acima, iniciamos um dicionário vazio chamado contagem_votos
. Em seguida, iteramos sobre cada voto na lista votos
e, para cada produto, verificamos se ele já está no dicionário contagem_votos
. Se sim, incrementamos o valor associado a essa chave em 1. Caso contrário, criamos uma associação nova no dicionário, associando o produto e o valor de contagem 1 (já que ele está sendo contado pela primeira vez).
No final, o dicionário contagem_votos
possuirá o número de votos para cada produto, o qual exibimos com a função print()
.
Crie um script capaz de detectar palíndromos. Um palíndromo é uma palavra que permanece a mesma se for lida de trás para frente, como “arara” ou “radar”.
palavra = "arara"
palavra_invertida = palavra[::-1]
eh_palindromo = palavra == palavra_invertida
if eh_palindromo:
print("A palavra", palavra, "é um palíndromo.")
else:
print("A palavra", palavra, "não é um palíndromo.")
TestarNo código acima, partimos de uma palavra qualquer (variável palavra
) e usamos a sintaxe de slicing de listas [::-1]
para criar uma versão invertida da palavra (variável palavra_invertida
). Em seguida, comparamos a palavra original com sua versão invertida usando o operador de igualdade == e atribuímos o resultado (um valor booleano) a uma variável eh_palindromo
. Por fim, usamos uma estrutura condicional para verificar se a variável eh_palindromo
possui o valor True
ou False
, exibindo uma mensagem adequada de acordo com o resultado.
Você possui uma loja de computadores. No mês passado, suas vendas subiram significativamente. Então, você calculou a porcentagem de aumento vendas e anotou o valor como um número (float) em Python:
aumento_vendas = 32.048701
TestarFormate o número em duas casas decimais, exibindo o seguinte texto: "O aumento percentual de vendas foi de 32.05%"
.
aumento_vendas = 32.048701
aumento_formatado = "{:.2f}".format(aumento_vendas)
print(f"O aumento percentual de vendas foi de {aumento_formatado}%")
# output:
# O aumento percentual de vendas foi de 32.05%
TestarNessa solução, usamos o método .format()
de strings para formatar números em duas casas decimais. Para fazer isso, usamos o indicador de formatação :.2f
. Note que essa formatação já faz o arredondamento do valor além da segunda casa decimal.
Em seguida, basta usar a função print()
para exibir a mensagem desejada. Neste exemplo, utilizamos ainda um f-string para inserir a variável aumento_formatado
ao texto da mensagem.
Você está recebendo muitos emails de spam na sua empresa. Para bloqueá-los, você deseja criar um script em Python capaz de detectar um email de spam a partir do seu domínio (o nome após o sinal de @
).
Crie uma função em Python para implementar essa funcionalidade. A função deve exibir uma mensagem de acordo com o e-mail ser spam ou não. Para o exercício, considere que e-mails enviados do domínio @xyz.com
são mensagens de spam.
def detectar_spam(email):
if email.endswith("@xyz.com"):
print(f"O email de {email} é spam.")
else:
print(f"O email de {email} não é spam.")
detectar_spam("[email protected]")
# output:
# O email de [email protected] não é spam.
detectar_spam("[email protected]")
# output:
# O email de [email protected] é spam.
TestarDefinimos uma função chamada detectar_spam()
, que recebe um endereço de e-mail como argumento. Dentro da função, usamos o método de string .endswith()
para verificar se o endereço de e-mail termina com o domínio "@xyz.com"
. Em seguida, com base no resultado dessa comparação, exibimos a mensagem avisando se o e-mail é de spam ou não.
Vamos para o último desafio: crie uma função que retorna uma letra do alfabeto, dado o seu índice. Por exemplo, o índice 1
deve retornar a letra "A"
, o índice 2
deve retornar a letra "B"
e assim por diante. Caso o índice esteja acima ou abaixo dos limites do alfabeto, a função deve retornar um string vazio.
def indice_do_alfabeto(indice):
alfabeto = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
if 1 <= indice <= 26:
return alfabeto[indice - 1]
else:
return ''
print(indice_do_alfabeto(1))
# output: "A"
print(indice_do_alfabeto(3))
# output: "C"
print(indice_do_alfabeto(30))
# output: ""
TestarNa função indice_do_alfabeto()
, criamos uma string chamada alfabeto
, que contém todas as letras maiúsculas do alfabeto. Dentro da função, verificamos se o índice está dentro do intervalo válido de 1 a 26. Se estiver, retornamos a letra correspondente ao índice fornecido usando indexação de strings (note que usamos indice - 1
nesta etapa porque a indexação em Python parte de zero). Por outro lado, se o índice estiver fora do intervalo válido, a função retorna uma string vazia.
Parabéns por chegar até o final da nossa lista de exercícios de Python! Caso você deseje ainda mais exercícios, confira o nosso Dash de Desafios, onde alunos da Asimov Academy podem resolver desafios de Python diretamente do seu navegador.
Se você achou os exercícios difíceis demais, sugerimos acompanhar nosso curso Aprendendo Python: Conceitos Básicos, onde explicamos todos os conceitos utilizados na resolução dos exercícios neste artigo. E se você está em busca de mais conteúdo sobre Python, pode conferir nosso artigo sobre os principais erros de iniciantes em Python.
Caso você deseje seguir partir para a prática, recomendamos dar uma olhada na base de projetos da Asimov Academy. Nela, você certamente encontrará projetos interessantes para seguir com seus estudos!
Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:
Comentários
30xpMuito legal a lista, estou um pouco feliz com algum progresso que tive, especialmente na forma de raciocinar e buscar recursos consultando a documentação do Python.
Fala, Luciano! Tudo bem?
Legal, como qualquer nova habilidade, o início é lento. Mas é só seguir constante que tenho certeza que você vai se tornar um ótimo programador!
Abraço