Implemente uma função que busque um produto no inventário pelo nome e exiba as informações do produto, incluindo nome, código, quantidade em estoque e preço unitário. Caso o produto não seja encontrado, exiba uma mensagem de erro.

Passo 1

O enunciado pede para a gente criar uma função que busca um produto no inventário pelo nome e exibe suas informações, como nome, código, quantidade em estoque e preço unitário. Se o produto não for encontrado, deve aparecer uma mensagem de erro. Para resolver isso, vamos precisar usar estruturas de dados para armazenar os produtos e lógica de busca para encontrar o produto pelo nome.

Passo 2

Primeiro, vamos pensar em como representar o inventário. Uma maneira simples é usar uma lista de dicionários em Python, onde cada dicionário representa um produto com suas propriedades: nome, código, quantidade e preço. Por exemplo:
inventario = [
    {"nome": "Maçã", "codigo": 101, "quantidade": 50, "preco": 0.50},
    {"nome": "Banana", "codigo": 102, "quantidade": 30, "preco": 0.30},
    {"nome": "Laranja", "codigo": 103, "quantidade": 20, "preco": 0.80}
]

Passo 3

Agora, precisamos criar uma função que recebe o nome do produto que queremos buscar. Vamos chamar essa função de buscar_produto. Ela vai receber dois parâmetros: o nome_busca e o inventario.

Passo 4

Dentro da função, vamos percorrer cada produto da lista inventario usando um loop for. Para cada produto, vamos verificar se o nome dele corresponde ao nome_busca. Para garantir que a busca não seja sensível a maiúsculas e minúsculas, vamos converter ambos os nomes para minúsculas usando o método .lower().

Passo 5

Se encontrarmos um produto que corresponde ao nome buscado, vamos exibir suas informações: nome, código, quantidade em estoque e preço unitário. Após encontrar, podemos encerrar a função usando a palavra-chave return para evitar continuar a busca desnecessariamente.

Passo 6

Caso o loop termine e nenhum produto tenha sido encontrado, isso significa que o produto não está no inventário. Nesse caso, vamos exibir uma mensagem de erro informando que o produto não foi encontrado.

Passo 7

Vamos implementar isso em código:
def buscar_produto(nome_busca, inventario):
    for produto in inventario:
        if produto["nome"].lower() == nome_busca.lower():
            print(f"Nome: {produto['nome']}")
            print(f"Código: {produto['codigo']}")
            print(f"Quantidade em estoque: {produto['quantidade']}")
            print(f"Preço unitário: R${produto['preco']:.2f}")
            return
    print("Erro: Produto não encontrado.")

Resposta

Pronto! Agora, ao chamar a função buscar_produto passando o nome do produto e o inventário, ela vai exibir as informações do produto se encontrado ou mostrar uma mensagem de erro se não for encontrado. Por exemplo:
buscar_produto("Banana", inventario)
Isso vai resultar em:
Nome: Banana
Código: 102
Quantidade em estoque: 30
Preço unitário: R$0.30
E se você buscar por um produto que não existe:
buscar_produto("Uva", inventario)
A saída será:
Erro: Produto não encontrado.

Exercícios relacionados