https://colab.research.google.com/drive/1l0hjX_yKT9ky_87XThJ0uEuMD_v_cWZ-?usp=sharing
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá, Herley. Como vai?
É muito bom ver você compartilhando a sua solução prática por meio de um link do Google Colab! Usar notebooks interativos é uma excelente maneira de documentar o seu progresso nos estudos e compartilhar códigos funcionais com a comunidade do fórum.
O desafio de unir duas listas geradas a partir de entradas do usuário é um ótimo exercício para consolidar conceitos fundamentais de manipulação de strings e coleções em Python. A lógica principal dessa atividade envolve três ferramentas essenciais:
.split(","): Ele é responsável por pegar a string única digitada pelo usuário (como "maçã, banana, pera") e quebrá-la toda vez que encontrar uma vírgula, gerando uma lista estruturada de elementos.zip(): É a forma mais elegante e performática em Python para percorrer múltiplos iteráveis em paralelo. Ela emparelha o produto localizado na posição zero da primeira lista com o preço localizado na mesma posição zero da segunda lista, e assim por diante..strip(): Um cuidado indispensável de tratamento de dados. Como os usuários costumam digitar espaços em branco logo após a vírgula (como "maçã, banana"), utilizar .strip() remove esses espaços vazios das extremidades do texto, deixando a exibição final limpa e alinhada.Uma sugestão técnica para deixar o seu programa ainda mais robusto e com uma apresentação mais profissional é realizar a conversão dos preços que entram como texto para tipo decimal (float) e formatar a saída de texto utilizando as regras de representação de moeda local (R$).
Veja um exemplo de como implementar essa melhoria:
# Recebe e divide as entradas do usuário em listas
produtos_input = input("Digite os produtos separados por vírgula: ").split(",")
precos_input = input("Digite os preços separados por vírgula: ").split(",")
# Validação de segurança para garantir a correspondência de pares
if len(produtos_input) == len(precos_input):
print("\nLista de Produtos Cadastrados:")
for produto, preco in zip(produtos_input, precos_input):
# Limpa os espaços e converte a string do preço para float
nome_produto = produto.strip()
valor_preco = float(preco.strip())
# Exibe os dados formatados com duas casas decimais
print(f"* {nome_produto}: R$ {valor_preco:.2f}")
else:
print("Erro: A quantidade de produtos e preços informados deve ser exatamente a mesma.")
Essa validação de tamanho (len) é uma boa prática recomendada porque, por padrão, a função zip() interrompe o laço de repetição de forma silenciosa assim que atinge o fim da menor lista. Se o usuário digitar três produtos e apenas dois preços, o último produto seria simplesmente ignorado na exibição sem que nenhum aviso de erro fosse gerado para o operador do sistema.
Parabéns pelo desenvolvimento da atividade prática e por disponibilizar o seu notebook no fórum!
Espero que possa ter lhe ajudado!