Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Olá!! infelizmente fiz o git commit do meu arquivo que não estava editado porque eu tava utilizando outro documento para editar. Como ta muito em cima da hora, e eu não sei consertar, irei fazer o pr e vou mandar o código a seguir por esta mensagem ou onde for solicitado.
Quero opção de:
Adicionar doce
Exibir detalhe de um doce
Atualizar doce
Apagar doces
Exibir a lista de todos os doces
Apaguei o import time devido a professora ter esquecido no código.
Alterei os valores, nomes e preço da lista.
lista_produtos = [{'id': 1, 'nome': 'jujuba', 'preço': 2.0}, {'id': 2, 'nome': 'caramelo', 'preço': 3.0}, {'id': 3, 'nome': 'fini', 'preço': 5.0}, {'id': 4, 'nome': 'pão de mel', 'preço': 10.0}]
Mantive a variável global com valor 1
id_produto = 1
Mantive a função menu em que imprime título e opções para o usuário escolher e abaixo atribui funcionalidade a cada opção com as condicionais, é também adicionado o break para quebrar o loop while.
def menu():
while True:
print("\n * MENU LOJA REPROGRAMA *\n")
print("1 - Adicionar")
print("2 - Exibir detalhes")
print("3 - Atualizar")
print("4 - Apagar")
print("5 - Exibir todos")
print("0 - Sair")
Mantive a função. Se a lista for igual a zero, retorna 1. A função sort colocou os itens da lista de produtos em ordem decrescente, produto foi atribuído ao id solicitado e o novo id se torna o item 0 da lista de produtos mais 1.
def gerar_id_produto():
if len(lista_produtos) == 0:
return 1
lista_produtos.sort(key=lambda produto: produto.get("id"), reverse=True)
novo_id = lista_produtos[0].get("id") + 1
return novo_id
Mantive a função. Solicitou nome e preço do produto, criou uma variável atribuindo id(função gerar id), nome e preço aos valores inseridos, utilizou append para adicionar o produto a lista de produtos.
def adicionar_produto():
nome_produto = input("Digite o nome do produto:\n")
preco_produto = input("Digite o preço do produto:\n")
produto = {"id": gerar_id_produto(),"nome": nome_produto,"preço": float(preco_produto)}
lista_produtos.append(produto)
print(lista_produtos)
Criei a função exibir detalhes, solicitei ao usuário o id do item, utilizei for in para "caminhar" pela lista de produtos, utilizei a condicional if para pegar o id do produto e estabeleci que se for igual ao id que o usuário inseriu que imprimisse o detalhe do item,
def exibir_detalhes():
id_produto = int(input("Digite o id do item para exibir detalhes: "))
for produto in lista_produtos:
if produto.get("id") == id_produto:
print(f"Aqui está os detalhes do item que você selecionou: {produto}")
else:
print("ID inexistente")
break
Mantive a função. Solicitou o id para atualizar, percorreu a lista de produtos com for e pegou o tamanho. Condicional if para comparar se o id da lista é igual ao id do produto. Solicitou novo valor e atribuiu o índice preço ao novo valor inserido
def atualizar_produto():
id_produto = input("Digite o ID do produto para atualizar:\n")
for index in range(len(lista_produtos)):
if lista_produtos[index].get("id") == int(id_produto):
novo_valor = input("Digite o novo valor do produto:\n")
lista_produtos[index]["preço"] = float(novo_valor)
print(f"O produto foi atualizado com sucesso! {lista_produtos[index]}")
Criei a função deletar, dentro dela, criei uma variável com valor falso, pedi id do produto, usei for in para obter os índices da lista, estabeleci condicional de igualdade que se o "id" da variável produto fosse igual ao inserido no input, iria remover o id da lista de produtos e a variável encontrado se tornaria verdade e imprimiria item excluído. Utilizei o break para interromper o loop do laço for
def deletar_item():
encontrado = False
id_produto = int(input("Digite o ID do item para deletá-lo: "))
for produto in lista_produtos:
if produto.get("id") == id_produto:
lista_produtos.remove(produto)
encontrado = True
print("Item excluído!")
break
if encontrado == False:
print("Produto não encontrado")
Mantive função. Utilizou o for e range para percorrer e obter o tamanho da lista de produtos e imprimiu os itens da lista de produtos.
def listar_todos():
for index in range(len(lista_produtos)):
print(f"{lista_produtos[index]}\n")
menu()