Solucionado (ver solução)

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!

Solucionado
(ver solução)
1
resposta

Resolução de Atividades - 04 Verificando itens na despensa

despensa = ["Arroz", "Feijão", "Macarrão", "Tomate", "Açúcar", "Biscoito", "Frutas", "Alface"]

def confirmador():

    input("\nAperte qualquer tecla para continuar")


def main ():

    print ("Olá Seja bem vindo à despensa!")

    while True:

        usuario_escolha = input ("\nQual produto o senhor gostaria de checar? (Para sair, aperte 0)\n").strip("123456789!@#$%&|/:;[]~^").title()

        if usuario_escolha in despensa:

            print (f"\nO item {usuario_escolha} já está disponível na despensa.")
            confirmador()

        elif usuario_escolha == "0":

            print ("\nObrigado por utilizar o sistema de despensa!")
            return False

        elif usuario_escolha is None:

            print ("Digite um produto!")
            confirmador()

        else:

            print (f"\nO item {usuario_escolha} precisa ser comprado.")
            print ("Itens disponíveis na despensa:", despensa)
            confirmador()

if __name__ == "__main__":

    main()
1 resposta
solução!

Oi, Victor. Tudo bem com você?

Obrigado por compartilhar a sua resolução da atividade. O seu programa atende à proposta de verificar se um item está presente na lista da despensa e ainda adiciona funcionalidades extras, como um menu em repetição e uma pausa para o usuário continuar utilizando o sistema. Essas adaptações são válidas, pois preservam a lógica principal do exercício e demonstram iniciativa em explorar recursos além do enunciado.

Há apenas um ponto que merece atenção. A condição elif usuario_escolha is None: nunca será verdadeira, pois a função input() sempre retorna uma string. Se o usuário apenas pressionar Enter, o valor recebido será uma string vazia (""), e não None. Nesse caso, uma verificação como if not usuario_escolha: seria mais adequada para identificar uma entrada vazia.

Como sugestão de teste, experimente inserir uma entrada vazia, um item com espaços extras e outro escrito em letras minúsculas para observar como o uso de .title() e .strip() influencia a comparação com a lista.

Parabéns pela resolução e por adicionar funcionalidades além do solicitado. Continue compartilhando seus exercícios e, sempre que surgir alguma dúvida, o fórum estará à disposição.

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