Manipulação de Listas (Python): Desafios Práticos Resolvidos
Listas são uma das estruturas de dados mais utilizadas no Python. Elas permitem armazenar múltiplos valores em uma única variável, organizar informações de forma dinâmica e manipular dados com facilidade. Seja para criar sistemas de cadastro, controlar tarefas, organizar produtos ou gerenciar convidados, as listas estão presentes em praticamente todos os tipos de programas.
Dominar o uso de listas é fundamental para evoluir na programação, pois elas trabalham diretamente com conceitos como repetição, manipulação de dados e organização de informações.
QUESTÃO 1 – Lista de tarefas do dia
Maria criou uma lista de tarefas que precisa realizar ao longo do dia.
Problema:
Ela precisa adicionar novas tarefas, remover tarefas concluídas e visualizar a lista atualizada.
Regras:
Criar uma lista vazia de tarefas.
Permitir adicionar tarefas.
Permitir remover tarefas concluídas.
Exibir a lista final atualizada.
Exemplo:
Quantas tarefas você quer adicionar inicialmente? 2
Digite a tarefa 1: Estudar Python
Digite a tarefa 2: Fazer exercícios
Quantas novas tarefas você quer adicionar? 1
Digite a tarefa 1: Ler documentação
Quantas tarefas você concluiu? 1
Digite a tarefa concluída 1: Estudar Python
Lista atualizada de tarefas: ['Fazer exercícios', 'Ler documentação']
Resposta:
def adicionar_tarefas(lista_tarefas, num_tarefas):
for i in range(num_tarefas):
tarefa = input(f"Digite a tarefa {i+1}: ").strip()
lista_tarefas.append(tarefa)
def remover_tarefas_concluidas(lista_tarefas, num_concluidas):
for i in range(num_concluidas):
tarefa = input(f"Digite a tarefa concluída {i+1}: ").strip()
if tarefa in lista_tarefas:
lista_tarefas.remove(tarefa)
else:
print(f"Tarefa '{tarefa}' não encontrada na lista.")
def main():
tarefas = []
num_tarefas = int(input("Quantas tarefas você quer adicionar inicialmente? "))
adicionar_tarefas(tarefas, num_tarefas)
num_novas_tarefas = int(input("Quantas novas tarefas você quer adicionar? "))
adicionar_tarefas(tarefas, num_novas_tarefas)
num_concluidas = int(input("Quantas tarefas você concluiu? "))
remover_tarefas_concluidas(tarefas, num_concluidas)
print("Lista atualizada de tarefas:", tarefas)
if __name__ == "__main__":
main()
QUESTÃO 2 – Lista de presentes de Natal
Paula está fazendo uma lista de presentes para o Natal.
Problema:
Ela precisa adicionar itens à lista e visualizar todos os presentes cadastrados.
Regras:
Criar uma lista vazia.
Solicitar a quantidade de presentes.
Adicionar os presentes à lista.
Exibir a lista final.
Exemplo:
Digite o presente 1: Livro
Digite o presente 2: Perfume
Lista de presentes: ['Livro', 'Perfume']
Resposta:
def adicionar_presentes(lista_presentes, num_presentes):
for i in range(num_presentes):
presente = input(f"Digite o presente {i+1}: ").strip()
lista_presentes.append(presente)
def main():
presentes = []
num_presentes = int(input("Quantos presentes você quer adicionar à lista? "))
adicionar_presentes(presentes, num_presentes)
print("Lista de presentes:", presentes)
if __name__ == "__main__":
main()
QUESTÃO 3 – Planejamento semanal de refeições
Ana está planejando sua semana de refeições e possui listas separadas para café da manhã, almoço e jantar.
Problema:
Ela precisa unir todas as listas em uma única lista completa de refeições.
Regras:
Criar três listas.
Permitir que o usuário digite os itens de cada lista.
Utilizar o método
extend()para combiná-las.Exibir a lista final combinada.
Exemplo:
Quantos itens para o café da manhã? 2
Digite o item 1 do café da manhã: pão
Digite o item 2 do café da manhã: leite
Quantos itens para o almoço? 2
Digite o item 1 do almoço: arroz
Digite o item 2 do almoço: feijão
Quantos itens para o jantar? 1
Digite o item 1 do jantar: sopa
Lista combinada de refeições: ['pão', 'leite', 'arroz', 'feijão', 'sopa']
Resposta:
def combinar_listas(lista1, lista2, lista3):
lista1.extend(lista2)
lista1.extend(lista3)
return lista1
def preencher_lista(nome_lista):
lista = []
quantidade = int(input(f"Quantos itens para o {nome_lista}? "))
i = 0
while i < quantidade:
item = input(f"Digite o item {i+1} do {nome_lista}: ")
lista.append(item)
i += 1
return lista
def main():
cafe_da_manha = preencher_lista("café da manhã")
almoco = preencher_lista("almoço")
jantar = preencher_lista("jantar")
refeicoes = combinar_listas(cafe_da_manha, almoco, jantar)
print("Lista combinada de refeições:", refeicoes)
if __name__ == "__main__":
main()
QUESTÃO 4 – Loja online com múltiplas categorias
Você está desenvolvendo um sistema para gerenciar uma loja online.
Problema:
A loja possui diferentes categorias de produtos e você precisa combinar todos os produtos em uma única lista final.
Regras:
Solicitar produtos para 3 categorias.
Armazenar os produtos temporariamente.
Usar
extend()para unir as listas.Exibir a lista final de produtos disponíveis.
Exemplo:
Quantos produtos para a categoria 1? 2
Digite o produto 1 da categoria 1: Camiseta
Digite o produto 2 da categoria 1: Calça
Quantos produtos para a categoria 2? 1
Digite o produto 1 da categoria 2: Tênis
Quantos produtos para a categoria 3? 2
Digite o produto 1 da categoria 3: Boné
Digite o produto 2 da categoria 3: Jaqueta
Lista combinada de produtos disponíveis: ['Camiseta', 'Calça', 'Tênis', 'Boné', 'Jaqueta']
Resposta:
def combinar_produtos():
lista_produtos = []
for i in range(3):
num_produtos = int(input(f"Quantos produtos para a categoria {i+1}? "))
produtos = []
for j in range(num_produtos):
produto = input(f"Digite o produto {j+1} da categoria {i+1}: ")
produtos.append(produto)
lista_produtos.extend(produtos)
return lista_produtos
def main():
produtos_disponiveis = combinar_produtos()
print("Lista combinada de produtos disponíveis:", produtos_disponiveis)
if __name__ == "__main__":
main()
QUESTÃO 5 – Inserindo convidado na posição correta
Fernanda está organizando sua festa e já possui uma lista com 6 convidados.
Problema:
Ela precisa inserir um novo convidado na quarta posição da lista.
Regras:
Criar lista com 6 nomes.
Solicitar o nome do novo convidado.
Inserir o nome na posição 3 (quarta posição).
Exibir a lista atualizada.
Exemplo:
Digite o nome do novo convidado: Mariana
Lista atualizada: ['Ana', 'Bruno', 'Carlos', 'Mariana', 'Daniela', 'Eduardo', 'Fernanda']
Resposta:
def main():
convidados = ["Ana", "Bruno", "Carlos", "Daniela", "Eduardo", "Fernanda"]
novo_convidado = input("Digite o nome do novo convidado: ")
convidados.insert(3, novo_convidado)
print("Lista atualizada:", convidados)
if __name__ == "__main__":
main()
Caso o Python ainda não esteja instalado em seu dispositivo, clique no botão abaixo para realizar a instalação.







