Skip to content

Instantly share code, notes, and snippets.

@thaisviana
Created November 7, 2019 18:38
Show Gist options
  • Save thaisviana/d22fc8b3bb233940b9784bf1e6c3a59c to your computer and use it in GitHub Desktop.
Save thaisviana/d22fc8b3bb233940b9784bf1e6c3a59c to your computer and use it in GitHub Desktop.
from collections import defaultdict
class Produto:
def __init__(self, preco, quantidade, descricao, foto, fornecedor):
preco = self.preco
quantidade = self.quantidade
fornecedor = self.fornecedor
class Carrinho:
def __init__(self, produtos):
produtos = self.produtos
voucher = 0.0
frete = 0.0
def adicionar_produto(self, novo_produto):
self.produtos.append(novo_produto)
pass
def update_produto(self, produto_modificado):
index = self.produtos.indexOf(produto_modificado)
original = self.produtos[index]
if produto_modificado.quantidade == 0:
self.remover_produto(original)
else:
original = produto_modificado
def calcula_total(self):
preco_total = sum([produto.preco * produto.quantidade for produto in self.produtos])
return preco_total - self.voucher + self.frete
def calcula_total_fornecedor(lista_produtos_fornecedor):
preco_total = sum([produto.preco * produto.quantidade for produto in lista_produtos_fornecedor])
return preco_total
def separar_valores_por_fornecedor(self):
fornecedores = set([produto.fornecedor for produto in self.produtos])
total_fornecedores = defaultdict(int)
for fornecedor in fornecedores:
total_fornecedores[fornecedor.id] = Carrinho.calcula_total_fornecedor(fornecedor.produtos_do_carrinho)
return total_fornecedores
def remover_produto(self, novo_produto):
# Carrinho.exists()
# self.produtos.remove(novo_produto)
pass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment