Importante

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!

1
resposta

[Sugestão] Faça como eu fiz: atualizando informações no estoque

estoque = {
    'Caderno universitario': 50,
    'Caneta azul': 120,
    'Borracha branca': 30
}

atualizar_produto = input('Nome do produto a ser atualizado: ').lower()
atualizar_quantidade = int(input('Nova quantidade: '))

if atualizar_produto in estoque:
    estoque[atualizar_produto] = atualizar_quantidade
    print('Quantidade atualizada!')
    print(estoque)
else:
    print('Produto nao existe dentro do estoque.')
1 resposta

Oi, Apollo. Tudo bem com você?

A lógica utilizada para solicitar o nome do produto, receber a nova quantidade e atualizar o dicionário está adequada e atende ao objetivo proposto. Existe apenas um detalhe importante no tratamento da entrada: você utilizou .lower() no nome informado pelo usuário, mas as chaves do dicionário foram cadastradas com letras maiúsculas e minúsculas, como 'Caneta azul'. Dessa forma, ao digitar Caneta azul, a entrada será convertida para caneta azul, que não corresponde a nenhuma chave existente no dicionário.

Uma forma de manter sua abordagem é remover o .lower() da entrada ou então padronizar também as chaves do dicionário para letras minúsculas. Assim, tanto os dados armazenados quanto a entrada do usuário seguirão o mesmo padrão. Esse tipo de padronização é bastante comum em sistemas de cadastro, pois evita diferenças causadas pelo uso de maiúsculas e minúsculas.

Como você adaptaria o código para permitir que o usuário digitasse o nome do produto de diferentes formas, sem comprometer a identificação correta do item?

Parabéns pela implementação e por compartilhar sua solução. Continue praticando e trazendo suas dúvidas e exercícios. O fórum permanece à disposição para acompanhar sua evolução.

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