class PecaMoto:
def __init__(self, nome, preco, quantidade, categoria):
self.nome = nome
self.preco = preco
self.quantidade = quantidade
self.categoria = categoria
def vender(self, quantidade_vendida):
if quantidade_vendida <= self.quantidade:
self.quantidade -= quantidade_vendida
return self.preco * quantidade_vendida
else:
print(f"Estoque insuficiente para a peça {self.nome}!")
return 0
def atualizar_estoque(self, quantidade):
self.quantidade += quantidade
def __str__(self):
return f"{self.nome} ({self.categoria}) - Preço: R${self.preco} - Estoque: {self.quantidade}"
class ComercioPecasMoto:
def __init__(self):
self.pecas = {}
def adicionar_peca(self, nome, preco, quantidade, categoria):
if nome in self.pecas:
print(f"A peça {nome} já está cadastrada. Atualizando o estoque.")
self.pecas[nome].atualizar_estoque(quantidade)
else:
self.pecas[nome] = PecaMoto(nome, preco, quantidade, categoria)
print(f"Peça {nome} adicionada com sucesso!")
def vender_peca(self, nome, quantidade_vendida):
if nome in self.pecas:
total = self.pecas[nome].vender(quantidade_vendida)
if total > 0:
print(f"Venda realizada da peça {nome}! Total: R${total}")
else:
print(f"Peça {nome} não encontrada.")
def mostrar_estoque(self):
if not self.pecas:
print("Nenhuma peça cadastrada.")
else:
print("\nEstoque de Peças:")
for peca in self.pecas.values():
print(peca)
def buscar_peca_por_categoria(self, categoria):
encontrados = [peca for peca in self.pecas.values() if peca.categoria.lower() == categoria.lower()]
if encontrados:
print(f"\nPeças da categoria {categoria}:")
for peca in encontrados:
print(peca)
else:
print(f"Nenhuma peça encontrada na categoria {categoria}.")
# Função principal para simular o uso do sistema
def main():
sistema = ComercioPecasMoto()
# Adicionando algumas peças
sistema.adicionar_peca("Corrente", 100.00, 50, "Transmissão")
sistema.adicionar_peca("Pneu", 200.00, 20, "Rodagem")
sistema.adicionar_peca("Freio", 150.00, 30, "Segurança")
sistema.adicionar_peca("Filtro de Óleo", 40.00, 100, "Manutenção")
sistema.adicionar_peca("Amortecedor", 250.00, 15, "Suspensão")
# Exibindo estoque
sistema.mostrar_estoque()
# Realizando algumas vendas
print("\nRealizando vendas...")
sistema.vender_peca("Pneu", 5)
sistema.vender_peca("Filtro de Óleo", 10)
# Exibindo o estoque após as vendas
print("\nEstoque após vendas:")
sistema.mostrar_estoque()
# Buscando peças por categoria
sistema.buscar_peca_por_categoria("Rodagem")
sistema.buscar_peca_por_categoria("Suspensão")
sistema.buscar_peca_por_categoria("Transmissão")
if __name__ == "__main__":
main()
# your code goes here