Skip to content

loja de doces ok#27

Open
jhenifferakycharia wants to merge 1 commit intoreprograma:mainfrom
jhenifferakycharia:main
Open

loja de doces ok#27
jhenifferakycharia wants to merge 1 commit intoreprograma:mainfrom
jhenifferakycharia:main

Conversation

@jhenifferakycharia
Copy link

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")

    opcao = input("Escolha a opção desejada\n")

    if opcao == "1":
        adicionar_produto()
    elif opcao == "2":
        exibir_detalhes()
    elif opcao == "3":
        atualizar_produto()
    elif opcao == "4":
        deletar_item()
    elif opcao == "5":
        listar_todos()
    elif opcao == "0":
        break
    else:
        print("Opção inválida, por favor escolha uma opção do menu")

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()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant