1
resposta

[Dúvida] Está conforme a atividade?

MAX_ITENS_ESTOQUE = 7

estoque = []

for _ in range(MAX_ITENS_ESTOQUE):
    estoque.append(input("Digite o nome do item: ").lower())

while True:
    item = input("Digite o nome do item a ser removido (ou 'sair' para encerrar): ").lower()
    if item.lower() == "sair":
        break
    if item in estoque:
        # Também é possível usar estoque.pop(estoque.index(item))
        estoque.remove(item)
        print("Item removido:", item)
    else:
        print("Item não encontrado no estoque.")
    print("Estoque atualizado:", estoque)
1 resposta

Oii, Samuel, tudo bem?

Achei muito bacana sua iniciativa de expandir o exercício. Você criou uma lógica de interação completa, permitindo preencher o estoque e escolher especificamente qual item excluir. Isso demonstra que você está dominando o uso de laços de repetição for e while, além de condicionais.

Sobre a sua dúvida: para este desafio específico, a proposta era um pouco mais direta. O objetivo era simular a correção de um erro imediato, onde o último item adicionado precisava ser descartado automaticamente, sem perguntar qual item seria.

No seu código, você utilizou o método .remove(), que é excelente quando sabemos o valor do item (o nome dele), mas não a sua posição.

Se quiser atender exatamente ao que o exercício pediu (remover o último da fila), o método ideal é o .pop() sem passar nenhum parâmetro dentro dos parênteses. Ele remove e retorna automaticamente o elemento que está no final da lista.

Continue explorando essas variações, pois entender a diferença entre remover por índice (pop) e por valor (remove) é fundamental para manipular listas no dia a dia.

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