Olá!
No meio desse curso, acabei fazendo um projeto para melhor fixação. Mas, ao decorrer do curso, não fui compreendendo muito sobre o assunto e não sabendo aplicar no projeto.
Poderiam me dar uma sugestão ou uma dica para eu poder fluir com o projeto?
Segue projeto:
class Product:
produtos = []
def __init__(self, nome, preco, quantidade):
self._nome = nome
self._preco = preco
self._quantidade = quantidade
Product.produtos.append(self)
def __str__(self):
return f'{self._nome} | {self._preco} | {self._quantidade}'
def adicionar_estoque(self, quantidade):
if quantidade < 0:
return 'Erro na quantidade'
else:
self._quantidade += quantidade
return f'Estoque atualizado! Estoque atual: {self._quantidade}'
def remover_estoque(self, quantidade):
if quantidade < 0:
return 'Erro na quantidade'
elif quantidade > self._quantidade:
return 'Está acima do estoque.'
else:
self._quantidade -= quantidade
return f'Quantidade removida! Estoque atualizado: {self._quantidade}'
def calculo_total(self):
return self._quantidade * self._preco
def calcular_produtos(self, quantidade):
return quantidade * self._preco
@classmethod
def listar_todos(cls):
print(f'{'Nome'.ljust(25)} | {'Preço'.ljust(25)} | {'Quantidade'.ljust(25)}')
for produto in cls.produtos:
print(f'{produto._nome.ljust(25)} | R$ {str(produto._preco).ljust(25)} | {str(produto._quantidade).ljust(25)}')
@classmethod
def valor_total_estoque(cls):
total = 0
for produto in cls.produtos:
total = total + produto.calculo_total()
return total
@classmethod
def buscar_pelo_nome(cls, nome):
for produto in cls.produtos:
if produto._nome == nome:
return produto
return None
from product import Product
class Stock:
def init(self):
self._produtos = []
def adicionar_produto(self, produto):
for p in self._produtos:
if p._nome == produto._nome:
return 'Produto já no estoque'
self._produtos.append(produto)
return f'Produto adicionado ao estoque: {produto._nome.ljust(10)} | {str(produto._preco).ljust(10)} | {str(produto._quantidade).ljust(10)}'
def remover_produto(self, produto):
for p in self._produtos:
if p._nome == produto._nome:
self._produtos.remove(p)
return 'Produto removido'
return 'Produto não encontrado'
def listar_produtos(self):
for p in self._produtos:
print(f'{p._nome.ljust(25)} | R$ {str(p._preco).ljust(25)} | {str(p._quantidade).ljust(25)}')