Incremente o programa anterior, acrescentando uma função que busca um determinado produto por código. A função deve retornar o registro do produto. O programa deve pedir para o usuário digitar um código, buscar o produto, e se encontrá-lo mostrar os dados do produto.

Passo 1

Beleza, vamos dar uma olhada no que precisamos fazer aqui! O enunciado pede para incrementar um programa já existente adicionando uma função que busca um produto pelo código. Para resolver isso, vamos trabalhar com estruturas de dados para armazenar os produtos, criar uma função de busca, interagir com o usuário para receber o código e, se encontrado, mostrar os dados do produto. Vamos precisar usar conceitos de funções, loops e condicionais na programação.

Passo 2

Primeiro, vamos supor que já temos uma lista de produtos. Cada produto pode ser representado como um dicionário com chaves como ‘codigo’, ‘nome’ e ‘preco’. Por exemplo:
produtos = [
    {'codigo': 1, 'nome': 'Caneta', 'preco': 1.50},
    {'codigo': 2, 'nome': 'Caderno', 'preco': 5.00},
    {'codigo': 3, 'nome': 'Borracha', 'preco': 0.80}
]
Aqui, temos uma lista chamada produtos que contém três produtos, cada um com um código único.

Passo 3

Agora, vamos criar uma função que vai buscar um produto pelo código. Essa função vai receber o código que o usuário digitou e vai procurar na lista de produtos. Se encontrar, retorna o produto; se não, retorna None. A estrutura básica da função seria assim:
def buscar_produto(codigo):
    for produto in produtos:
        if produto['codigo'] == codigo:
            return produto
    return None
Explicando: a função buscar_produto percorre cada produto na lista produtos. Se o codigo do produto for igual ao que foi passado, retorna esse produto. Se terminar o loop sem encontrar, retorna None, indicando que não encontrou.

Passo 4

Em seguida, precisamos pedir para o usuário digitar o código do produto que ele quer buscar. Vamos usar a função input para isso e converter a entrada para um número inteiro:
codigo_digitado = int(input("Digite o código do produto que deseja buscar: "))
Aqui, input mostra a mensagem para o usuário e espera a entrada dele. int converte a entrada para um inteiro, já que nossos códigos são números.

Passo 5

Agora, vamos usar a função que criamos para buscar o produto com o código fornecido:
produto_encontrado = buscar_produto(codigo_digitado)
A variável produto_encontrado vai receber o resultado da função buscar_produto. Se o produto for encontrado, será um dicionário com os dados do produto; se não, será None.

Passo 6

Finalmente, vamos verificar se o produto foi encontrado e mostrar os dados ou uma mensagem de erro:
if produto_encontrado:
    print(f"Produto encontrado:")
    print(f"Código: {produto_encontrado['codigo']}")
    print(f"Nome: {produto_encontrado['nome']}")
    print(f"Preço: R${produto_encontrado['preco']:.2f}")
else:
    print("Produto não encontrado.")
Aqui, usamos um if para verificar se produto_encontrado não é None. Se encontrou, imprime os detalhes do produto formatados. Se não, avisa que o produto não foi encontrado.

Resposta

Juntando tudo, o programa completo fica assim:
produtos = [
    {'codigo': 1, 'nome': 'Caneta', 'preco': 1.50},
    {'codigo': 2, 'nome': 'Caderno', 'preco': 5.00},
    {'codigo': 3, 'nome': 'Borracha', 'preco': 0.80}
]

def buscar_produto(codigo):
    for produto in produtos:
        if produto['codigo'] == codigo:
            return produto
    return None

codigo_digitado = int(input("Digite o código do produto que deseja buscar: "))
produto_encontrado = buscar_produto(codigo_digitado)

if produto_encontrado:
    print(f"Produto encontrado:")
    print(f"Código: {produto_encontrado['codigo']}")
    print(f"Nome: {produto_encontrado['nome']}")
    print(f"Preço: R${produto_encontrado['preco']:.2f}")
else:
    print("Produto não encontrado.")
Agora, quando você rodar o programa, ele vai pedir para você digitar o código de um produto. Se o código existir na lista, ele mostra os detalhes do produto; se não, informa que o produto não foi encontrado.

Exercícios relacionados

Escreva um programa que leia uma string e mostre quantas vezes cada caractere aparece nessa string. Não diferencie maiúscula e minúsculas.
Faça um programa que leia um conjunto não determinado de valores e mostre o valor lido, seu quadrado, seu cubo e sua raiz quadrada. Finalize a entrada de dados com um valor negativo ou zero.
Escreva um programa que leia duas strings. Verifique se a segunda string ocorre dentro da primeira e mostre a posição de início.
Explique, com suas palavras, do que se trata o problema, isto é, o que precisa ser decidido, qual o objetivo, quais as restrições, entre outras questões que achar relevante.