diff --git a/exercicios/para-casa/projeto1.py b/exercicios/para-casa/projeto1.py new file mode 100644 index 0000000..3f5ae83 --- /dev/null +++ b/exercicios/para-casa/projeto1.py @@ -0,0 +1,108 @@ +'''CRUD = CREATE, READE, UPDATE, DELETE +Loja de Doces da Mayhara''' + +import time + +lista_produtos = [ + {"COD": 3, "nome": "BIGBIG", "preco": 1.0}, + {"COD": 2, "nome": "Chokito", "preco": 1.0}, + {"COD": 1, "nome": "Mentos", "preco": 4.0}, + {"COD": 4, "nome": "Sonho de Valsa", "preco": 52.0} + ] + +cod_produto = 1 + +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() + elif opcao == "5": + listar_todos() + elif opcao == "0": + break + else: + print("Opção inválida, por favor escolha uma opção do menu") + + +''' Essa função tem a finalidade de gerar o código de um doce +''' +def gerar_cod_produto(): + if len(lista_produtos) == 0: + return 1 + lista_produtos.sort(key=lambda produto: produto.get("COD"), reverse=True) + novo_cod = lista_produtos[0].get("COD") + 1 + + return novo_cod + + +''' Essa função tem a finalidade de adicionar um doce a loja +''' +def adicionar_produto(): + nome_produto = input("Digite o nome do produto:\n") + preco_produto = input("Digite o preço do produto:\n") + + produto = { + "COD": gerar_cod_produto(), + "nome": nome_produto, + "preço": float(preco_produto), + } + lista_produtos.append(produto) + + print(lista_produtos) + + +''' Essa função tem a finalidade de atualizar o preço de um doce +''' +def atualizar_produto(): + cod_produto = input("Digite o código do produto para atualizar:\n") + + for index in range(len(lista_produtos)): + if lista_produtos[index].get("COD") == int(cod_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]}") + + +''' Essa função tem a finalidade de listar todos os produtos da cadastrados na loja +''' +def listar_todos(): + for index in range(len(lista_produtos)): + print(f"{lista_produtos[index]}\n") + + +''' Essa função tem a finalidade de exibir o detalhe de um produto +''' +def exibir_detalhes(): + cod_doce = input("Forneça o código do produto: ") + for produto in lista_produtos: + if produto.get("COD") == int(cod_doce): + print(produto) + break + +''' Essa função tem a finalidade de deletar um produto cadastrado +''' +def deletar(): + cod_produto =input("Digite o código do produto para deletar: ") + for produto in lista_produtos: + if produto.get("COD") == int(cod_produto): + lista_produtos.remove(produto) + break + + +menu() diff --git a/exercicios/para-sala/exerciciosala.py b/exercicios/para-sala/exerciciosala.py new file mode 100644 index 0000000..b12acc5 --- /dev/null +++ b/exercicios/para-sala/exerciciosala.py @@ -0,0 +1,82 @@ +#CRUD = create, reade, update, delete + +#criar doce +#exibir detalhe de um doce +#atualizar doce +#apagar doce +#exibir a lista de todos os doces + +lista_produtos = [ + {"id": 2, "nome": "novo produto2", "preço": 3.0}, + {"id": 3, "nome": "novo produto3", "preço": 4.0}, + {"id": 1, "nome": "novo produto1", "preço": 3.0}, +] + +def menu(): + while True: + print("\n ** MENU LOJA REPROGROMA ** \n") + print("1 - Adicionar") + print("2 - Exibir detalhes") + print("3 - Atualizar") + print("4 - Apagar") + print("5 - Exibir todos") + print("0 - Sair") + + opcao = input("Escolha de opção desejada: ") + + if opcao == "1": + adicionar_produto() + elif opcao == "2": + print("\n opção exibir detalhes doce\n") + elif opcao == "3": + atualizar_produto() + elif opcao == "4": + print("\n opção apagar doce\n") + elif opcao == "5": + listar_todos() + elif opcao == "0": + print("\n ** sair **\n") + break + else: + print("\n ** opcao invalida **\n") + + +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, + "preco": float(preco_produto)} + + lista_produtos.append(produto) + + print(lista_produtos) + +def gerar_id_produto(): + if len(lista_produtos) == 0: + return 1 + lista_produtos.sort(key=id, reverse=True) #reverse com True aqui está invertendo a ordem da lista, iniciando pelo último + + novo_id = lista_produtos[0].get("id") + 1 #index 0, nesse caso, é o último item da lista já que a ordem está invertida + + return novo_id + +def atualizar_produto(): + id_produto = input("Digite o ID do produto para atualizar: ") + + 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: ") + lista_produtos[index]["preço"] = novo_valor + print(f"\n PRODUTO ATUALIZADO COM SUCESSO! {lista_produtos[index]}") + +def listar_todos(): + for index in range(len(lista_produtos)): + print(f"\n {lista_produtos[index]} \n") + + + +menu() +