1
resposta

[Projeto] Juntando listas de produtos

import os

def montar_produtos(lista_nomes, lista_precos):
    lista_produtos = []
    if len(lista_nomes) != len(lista_precos):
        tratar_erro("A quantidade de produtos e de preços deve ser a mesma")
        return []
    
    for index in range(len(lista_nomes)):
        produto = { "nome": lista_nomes[index], "preco": lista_precos[index]}
        lista_produtos.append(produto)
    
    return lista_produtos

def tratar_erro(mensagem_erro):
    input(f"{mensagem_erro}. Digite qualquer tecla para tentar novamente ")
    main()

def mostrar_produtos(lista_produtos):
    for produto in lista_produtos:
        print(f"\n{produto["nome"]}: {produto["preco"]:.2f}")

converte_para_floats = lambda lista: list(map(float, lista))

def main():
    os.system("cls")
    lista_nomes =[produto.strip() for produto in input("Digite os produtos separados por vírgula: ").split(",")] 
    try:
        lista_precos = converte_para_floats(input("Digite os preços separados por vírgula: ").split(","))
    except:
        tratar_erro("Um ou mais valores para preços estão inválidos")
    else:
        lista_produtos = montar_produtos(lista_nomes, lista_precos)
        mostrar_produtos(lista_produtos)

if __name__ == "__main__":
    main()
1 resposta

Olá, Christian, como vai?

A lógica geral atende bem ao que a atividade propõe, com separação clara de responsabilidades entre as funções, validação de dados de entrada e um fluxo organizado para execução do programa. A ideia de tratar erros e permitir nova tentativa também demonstra cuidado com a experiência de uso.

Há apenas um ponto técnico que merece ajuste. Na função mostrar_produtos, a f-string utiliza aspas duplas tanto para definir a string quanto para acessar as chaves do dicionário, o que pode gerar erro de sintaxe em Python. Basta trocar as aspas internas por aspas simples para evitar esse conflito e manter a interpolação funcionando.

Continue compartilhando suas atividades e experimentando variações no código, o fórum fica à disposição para acompanhar sua evolução.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!