Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 108 additions & 0 deletions exercicios/para-casa/projeto1.py
Original file line number Diff line number Diff line change
@@ -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()
82 changes: 82 additions & 0 deletions exercicios/para-sala/exerciciosala.py
Original file line number Diff line number Diff line change
@@ -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()