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
8 changes: 8 additions & 0 deletions exercicios/para-casa/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,15 @@ Como Desafio para casa você vai precisar fazer o seguinte:
- Ex.: Usuário precisa digitar um valor X mas ele acaba digitando Y. Então você deve auxiliar o usuário onde ele cometeu esse erro e o que ele precisa fazer para corrigir.
- Ex2.: O usuário digitou um ID de um produto que não existe, como o programa deveria se comportar?

<<<<<<< HEAD
- Escolher um produto e adicionar ele a um carrinho
- O cliente vai poder escolher um produto pelo seu id, esses produtos são os produtos da LOJA e também escolher a quantidade do produto desejado
- Se o cliente mudar de ideia, ele poderá excluir um produto do carrinho
- O cliente poderá , a qualquer momento , ver o TOTAL dos itens do seu carrinho
- O cliente poderá finalizar a compra. Nesse momento , deve ser gerado um número do pedido e o total da compra. Para assim ele finalizar seu carrinho.
=======
**Importante:** Você tem a liberdade de fazer qualquer alteração no código que ache pertinente, mas lembre-se de sempre justificar.
>>>>>>> 71ccbf2148d163eadc1fad54feac13c256161c4e

Boa sorte!
---
Expand Down
90 changes: 90 additions & 0 deletions exercicios/para-casa/projeto-guiado-I.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
class Produto:
def __init__(self, id, nome, preco):
self.id = id
self.nome = nome
self.preco = preco

class Carrinho:
def __init__(self):
self.items = {}

def adicionar_item(self, produto, quantidade):
if produto.id in self.items:
self.items[produto.id] += quantidade
else:
self.items[produto.id] = quantidade

def remover_item(self, id):
if id in self.items:
del self.items[id]

def calcular_total(self, catalogo_produtos):
total = 0
for id, quantidade in self.items.items():
produto = catalogo_produtos[id]
total += produto.preco * quantidade
return total

def exibir_catalogo(catalogo_produtos):
print("Catálogo de Produtos:")
for produto in catalogo_produtos.values():
print(f"{produto.id}: {produto.nome} - R${produto.preco:.2f}")

def main():

catalogo_produtos = {
1: Produto(1, "Base", 10.99),
2: Produto(2, "Batom", 5.49),
3: Produto(3, "Rímel", 7.99),
}

carrinho = Carrinho()

while True:
print("\nMenu:")
print("1. Adicionar produto ao carrinho")
print("2. Remover produto do carrinho")
print("3. Ver total do carrinho")
print("4. Finalizar compra")
print("5. Sair")

opcao = input("Escolha uma opção (1-5): ")

if opcao == "1":
exibir_catalogo(catalogo_produtos)
id = int(input("Digite o id do produto: "))
quantidade = int(input("Digite a quantidade desejada: "))
produto = catalogo_produtos.get(id)
if produto:
carrinho.adicionar_item(produto, quantidade)
print(f"{quantidade} {produto.nome}(s) adicionado(s) ao carrinho.")
else:
print("Produto não encontrado.")

elif opcao == "2":
id = int(input("Digite o id do produto a ser removido: "))
carrinho.remover_item(id)
print("Produto removido do carrinho.")

elif opcao == "3":
total = carrinho.calcular_total(catalogo_produtos)
print(f"Total do carrinho: R${total:.2f}")

elif opcao == "4":
total = carrinho.calcular_total(catalogo_produtos)
if total > 0:
print(f"Compra finalizada! Número do pedido: {hash(carrinho)}")
print(f"Total da compra: R${total:.2f}")
break
else:
print("Carrinho vazio. Adicione produtos antes de finalizar a compra.")

elif opcao == "5":
print("Saindo do programa. Obrigado!")
break

else:
print("Opção inválida. Tente novamente.")

if __name__ == "__main__":
main()
77 changes: 77 additions & 0 deletions exercicios/para-casa/projeto-guiado-exercicios
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
# Deve conseguir adicionar doces novos ao menu
# Deve ser possível mostrar detalhes de um produto pelo seu index
# Deve listar todos os itens do menu
# Deve ser possível alterar o preço de um certo produto
# Deve apagar um produto do menu

# 1. Criar o menu

doces_cadastrados = []

def menu ():
# adicionar doce
# detalhar doce
# listar todos os itens
# alterar preço
# apagar produto
while True:

print("\n ** MENU LOJA MAY ** ")
print("1 - Adicionar produto")
print("2 - Exibir detalhes de um produto")
print("3 - Atualizar informações de um produto")
print("4 - Remover produto")
print("5 - Listar todos os produtos")
print("0 - Sair")

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


if opcao == "1":
adicionar_produto()

elif opcao == "2":
print("Opção exibir detalhes de um produto.")

elif opcao == "3":
print("Opção atualizar informações de um produto.")

elif opcao == "4":
print("Opção remover produto.")

elif opcao == "5":
print("Opção listar todos os produtos.")

elif opcao == "0":
print("Sair")
break

else:
print ("Opcão inválida. Por favor, digite uma das opções informadas.")


def adicionar_produto():
nome_produto = input("Informe o nome do produto que deseja adicionar:\n")
preco_produto = input("Informe o preço do produto que deseja adicionar:\n")

produto = {
"id": gerar_id_produto(),
"nome": nome_produto,
"preço": float(preco_produto),
}

doces_cadastrados.append(produto)
print(doces_cadastrados)


def gerar_id_produto():
novo_id = 1
if len(doces_cadastrados) == 0:
return 1

doces_cadastrados.sort(key=id, reverse=True)
novo_id = doces_cadastrados[0].get("id") + 1
return novo_id


menu()
6 changes: 3 additions & 3 deletions exercicios/para-sala/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ ela decide te chamar para fazer isso pra ela. Um sistema simples vai servir, as

- Deve ser escrito em python
- Deve conseguir adicionar doces novos ao menu
- Deve ser possível mostrar detalhes de um produto pelo seu IDENTIFICADOR
- Deve ser possível mostrar detalhes de um produto pelo seu id
- Deve listar todos os itens do menu
- Deve ser possível ALTERAR O PREÇO de um certo protudo
- Deve apagar um produto do menu

**Lembre-se que a Mayhhara é sua primeira cliente. Precisamos causar uma boa impressão e mostrar o n
osso trabalho**
**Lembre-se que a Mayhhara é sua primeira cliente. Precisamos causar uma boa impressão e mostrar
o nosso trabalho**
---

Terminou o exercício? Dá uma olhada nessa checklist e confere se tá tudo certinho, combinado?!
Expand Down
76 changes: 0 additions & 76 deletions exercicios/para-sala/loja.py
Original file line number Diff line number Diff line change
@@ -1,76 +0,0 @@
# Quero opção de:
# Adicionar doce
# Exibir detalhe de um doce
# Atualizar doce
# Apagar doces
# Exibir a lista de todos os doces
import time

lista_produtos = [{'id': 3, 'nome': 'asdasdas', 'preço': 32.0}, {'id': 2, 'nome': 'asd', 'preço': 2.0}, {'id': 1, 'nome': 'a', 'preço': 1.0}, {'id': 4, 'nome': '23123', 'preço': 13123.0}]

id_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":
print("opcao exibir detalhes doce")
elif opcao == "3":
atualizar_produto()
elif opcao == "4":
print("opcao apagar doce")
elif opcao == "5":
listar_todos()
elif opcao == "0":
break
else:
print("Opção inválida, por favor escolha uma opção do menu")

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



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


def listar_todos():
for index in range(len(lista_produtos)):
print(f"{lista_produtos[index]}\n")


menu()