2
respostas

[Dúvida] Está conforme a atividade?

QUNT = 3

dicionario_produtos = {}

while True:
    for _ in range(QUNT):
        nome = input("Digite o nome do produto: ")
        quantidade = int(input("Digite a quantidade do produto: "))

        dicionario_produtos[nome] = quantidade

    print("Dicionário de produtos: {}".format(dicionario_produtos))
    break
2 respostas

Eu fiz outro formato também, mas quero saber se ele também está correto?

QUNT = 3

lista = []

while True:
    for _ in range(QUNT):
        entrar = str(input("Deseja fazer cadastro de produto? (S/N(ou 'sair' para encerrar): ").lower())
        if entrar.lower() == "sair" or entrar.lower() == "n":
            print("Encerrando o programa...")
            break
        elif entrar.lower() == "s" or entrar.lower() == "sim":
            nome = str(input("Digite o nome do produto: ")).lower()
            preco = float(input("Digite o preço do produto: "))
            quantidade = int(input("Digite a quantidade do produto: "))
            lista.append({
                "nome": nome,
                "preco": preco,
                "quantidade": quantidade
            })

            print("Produto cadastrado com sucesso!")

    for i, produto in enumerate(lista, start=1):
        print("{}. Nome: {}, Preço: R${:.2f}, Quantidade: {}".format(i, produto["nome"].capitalize(), produto["preco"], produto["quantidade"]))
    break

Oii, Samuel! Tudo bem?

Muito legal ver que você não se contentou apenas com o básico e foi testar outras formas de resolver! É explorando assim que a gente aprende de verdade.

Vamos analisar suas duas soluções:

Sobre o primeiro código:
Sim, ele tá correto e atende exatamente ao que a atividade pediu! Você criou um dicionário onde a Chave é o Nome e o Valor é a Quantidade.

Sobre o segundo código:

Nesse segundo código, você criou algo mais complexo, parecendo um sistema real de cadastro (com preço e confirmação). Ele está correto em sintaxe (o Python entende e roda), mas ele resolve um problema diferente do enunciado.

A diferença principal: Estrutura de Dados

  • Enunciado/Código 1: Pede um único dicionário de "para-valor" -> {'Caneta': 50, 'Lapis': 10}. É bom para buscas rápidas.
  • Código 2: Você criou uma Lista de Dicionários -> [{'nome': '...', 'preco': ...}, {'nome': '...', ...}]. Essa estrutura é ótima para bancos de dados ou quando temos muitos detalhes sobre cada item (preço, cor, etc), mas foge um pouquinho do escopo de "Dicionário simples" da aula.

Pra validar a atividade no curso, o Código 1 é o ideal. O Código 2 mostra que você já está pensando como desenvolvedor, criando estruturas mais completas.

Continue assim!

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