def cadastrar_produtos(produtos): continuar = "y" while continuar != "n": nome = str(input("Digite o nome do produto: ")) quantidade = int(input("Digite a quantidade ja existente: ")) preco = float(input("Digite o preço do produto: ")) produto = Produto(len(produtos), nome, quantidade, preco) produtos.append(produto) continuar = input("deseja continuar? (y / n): ") return produtos
""" Exemplo de associação de agregação Carro e roda Um carro existe sem a roda, e a roda existe sem o carro Mas o carro não funciona de forma correta sem a roda, ele PRECISA dela para funcionar corretamente """ from classes import CarrinhoDeCompras from classes import Produto carrinho = CarrinhoDeCompras() p1 = Produto('Mouse', 79.90) p2 = Produto('Teclado', 70) p3 = Produto('Headset', 110.90) p3 carrinho.insert_produto(p1) carrinho.insert_produto(p2) carrinho.insert_produto(p2) carrinho.listar_produtos() print(carrinho.soma())
#NA AGREGAÇÃO UMA CLASSE DEPENDE DA OUTRA PARA FUNCIONAR from classes import Cart, Produto carrinho = Cart() p1 = Produto('Camiseta', 50) p2 = Produto('Tenis', 140) p3 = Produto('calça', 100) carrinho.inserir_produto(p1) carrinho.inserir_produto(p2) carrinho.inserir_produto(p3) carrinho.inserir_produto(p1) carrinho.lista_produto() print(carrinho.soma_produto())
from classes import CarrinhoDeCompras, Produto carrinho = CarrinhoDeCompras() p1 = Produto('Camiseta', 50) p2 = Produto('iPhone', 10000) p3 = Produto('Caneca', 15) carrinho.inserir_produto(p1) carrinho.inserir_produto(p2) carrinho.inserir_produto(p3) carrinho.lista_produto() print(carrinho.soma_total())
from classes import CarrinhoDeCompras, Produto carrinho = CarrinhoDeCompras() p1 = Produto('Arroz', 10) p2 = Produto('Feijão', 20) p3 = Produto('Panela', 60) carrinho.inserir_produto(p1) carrinho.inserir_produto(p2) carrinho.inserir_produto(p3) carrinho.inserir_produto(p2) carrinho.inserir_produto(p3) carrinho.inserir_produto(p3) carrinho.inserir_produto(p2) carrinho.inserir_produto(p2) carrinho.inserir_produto(p2) carrinho.inserir_produto(p1) carrinho.inserir_produto(p3) carrinho.inserir_produto(p2) carrinho.inserir_produto(p3) carrinho.lista_produto() print(carrinho.soma_total())
from classes import CarrinhoDeCompras, Produto carrinho = CarrinhoDeCompras() produto1 = Produto('Mouse', 20) produto2 = Produto('Teclado', 40) produto3 = Produto('Pasta térmica', 2.50) carrinho.inserir_produto(produto1) carrinho.inserir_produto(produto2) carrinho.inserir_produto(produto1) carrinho.lista_produtos() print(carrinho.soma_total()) # Mouse 20 # Teclado 40 # Mouse 20 # 80
def pag_estoque(): # Metodos Get e Post para manter o nome do estoque na pagina if request.method == "GET": estoque_info = request.args.get('info') elif request.method == "POST": estoque_info = request.form["nome_estoque"] estoque = Estoque(estoque_info) estoque.criar_tabela() # Checando de o Botão " Vendas" foi pressionado if "vendas" in request.form: return redirect(url_for('pag_vendas',info=estoque.estoque)) if "relatorios" in request.form: return redirect(url_for('pag_relatorios',info=estoque.estoque)) if "n_estoque" in request.form: novo_estoque = request.form["novo_estoque"] antigo_estoque = estoque_info con = Estoque.alterar_estoque(antigo_estoque,novo_estoque) if con: estoque = Estoque(novo_estoque) li_li_tup = Estoque.gerar_li_li_tup(estoque) return render_template('estoque.html', li_li_tup=li_li_tup, estoque=estoque.estoque) else: li_li_tup = Estoque.gerar_li_li_tup(estoque) return render_template('estoque.html', li_li_tup=li_li_tup, estoque=estoque.estoque) if request.method == "POST": # Checando se o Botão "Atualizar Valores" foi pressionado if "atualizar" in request.form: # Função para Atualizar a tabela w = 0 for prods in estoque.mostrar_estoque(): z = str(w) prod = Produto(request.form["numero" + z], request.form["nome" + z], request.form["preço" + z], request.form["quantidade" + z], estoque.estoque) prod.alterar_produto(prods[0]) w = w + 1 # Função para Adicionar novo produto prodnovo = Produto(request.form["numeron"], request.form["nomen"], request.form["preçon"], request.form["quantidaden"], estoque.estoque) count= int(request.form["numeron"]) count2=int(request.form["preçon"]) count3=int(request.form["quantidaden"]) if (count<0) or (count2<0) or (count3<0): flash('Não é permitido números, preços ou quantidades negativas no estoque','warning') return redirect(url_for('pag_estoque')) else: prodnovo.produto_novo() flash(f'O produto {request.form["nomen"]} foi adicionado ao estoque.','success') return redirect(url_for('pag_estoque')) # Função para Deletar um produto do estoque else: z = 2 for produto in estoque.mostrar_estoque(): y = str(z) #Se um botao de deletar foi pressionado if y in request.form: del_produto = Produto(produto[0], produto[1], produto[2], produto[3], estoque.estoque) del_produto.remover_produto() flash('O produto foi removido','success') return redirect(url_for('pag_estoque',info=estoque_info,li_li_tup=li_li_tup, estoque=estoque.estoque)) z = z + 1 li_li_tup = Estoque.gerar_li_li_tup(estoque) return render_template('estoque.html', li_li_tup=li_li_tup, estoque=estoque.estoque)
from classes import CarrinhoDeCompra, Produto carrinho = CarrinhoDeCompra() p1 = Produto('c', 60) p2 = Produto('a', 160) p3 = Produto('b', 132) carrinho.inserir_produtos(p1) carrinho.inserir_produtos(p2) carrinho.inserir_produtos(p3) carrinho.lista_produto() print(carrinho.soma_total())
from classes import Produto, CarrinhoDeCompras carrinho = CarrinhoDeCompras() p1 = Produto("Camisa", 50) p2 = Produto("Iphone", 5000) p3 = Produto("Caneca", 15) carrinho.inserir_produto(p1) carrinho.inserir_produto(p2) carrinho.inserir_produto(p3) carrinho.lista_produtos() print(carrinho.soma_total())
from classes import CarrinhoDeCompras, Produto p1 = Produto('Caneta', 1.50) p2 = Produto('Borracha', 3.50) p3 = Produto('Lápis', 1.00) p4 = Produto('Apontador', 5.50) carrinho = CarrinhoDeCompras() carrinho.adiciona_produto(p1) carrinho.adiciona_produto(p2) carrinho.adiciona_produto(p3) carrinho.adiciona_produto(p4) carrinho.lista_produtos() carrinho.calcula_total()
def pag_estoque(): # Metodos Get e Post para manter o nome do estoque na pagina if request.method == "GET": estoque_info = request.args.get('info') elif request.method == "POST": print('é o metodo post') estoque_info = request.form["nome_estoque"] print("Nome do estoque dento de post :",estoque_info) estoque = Estoque(estoque_info) print("Nome do estoque :",estoque.estoque) estoque.criar_tabela() # Checando de o Botão " Vendas" foi pressionado if "vendas" in request.form: return redirect(url_for('pag_vendas',info=estoque.estoque)) if "relatorios" in request.form: return redirect(url_for('pag_relatorios',info=estoque.estoque)) if "n_estoque" in request.form: novo_estoque = request.form["novo_estoque"] antigo_estoque = estoque_info con = Estoque.alterar_estoque(antigo_estoque,novo_estoque) if con: estoque = Estoque(novo_estoque) li_li_tup = Estoque.gerar_li_li_tup(estoque) flash('O estoque foi renomeado para {}.'.format(str(novo_estoque)), 'success') return render_template('estoque.html', li_li_tup=li_li_tup, estoque=estoque.estoque) else: li_li_tup = Estoque.gerar_li_li_tup(estoque) flash('O estoque {} já existe.'.format(str(novo_estoque)),'warning') return render_template('estoque.html', li_li_tup=li_li_tup, estoque=estoque.estoque) if request.method == "POST": # Checando se o Botão "Atualizar Valores" foi pressionado if "atualizar" in request.form: print("Nome do estoque dentro de 'atualizar' :",estoque.estoque) # Função para Atualizar a tabela w = 0 for prods in estoque.mostrar_estoque(): z = str(w) prod = Produto(request.form["numero" + z], request.form["nome" + z], request.form["preço" + z], request.form["quantidade" + z], estoque.estoque) erro = prod.alterar_produto(prods[0]) if bool(erro): flash('Entrada Invalida em Produto Alterado','warning') return redirect(url_for('pag_estoque', info=estoque.estoque)) w = w + 1 # Função para Adicionar novo produto prodnovo = Produto(request.form["numeron"], request.form["nomen"], request.form["preçon"], request.form["quantidaden"], estoque.estoque) erro = prodnovo.produto_novo() if erro == 0: flash('O produto foi adicionado ao estoque.') return redirect(url_for('pag_estoque', info=estoque.estoque)) elif erro == 1: flash('Entrada Invalida em Novo Produto','warning') return redirect(url_for('pag_estoque', info=estoque.estoque)) # Função para Deletar um produto do estoque else: z = 2 for produto in estoque.mostrar_estoque(): y = str(z) #Se um botao de deletar foi pressionado if y in request.form: del_produto = Produto(produto[0], produto[1], produto[2], produto[3], estoque.estoque) del_produto.remover_produto() flash('O produto foi removido do estoque.') z = z + 1 li_li_tup =Estoque.gerar_li_li_tup(estoque) return render_template('estoque.html', li_li_tup=li_li_tup, estoque=estoque.estoque)
from classes import CarrinhoDeCompras, Produto carrinho = CarrinhoDeCompras() p1 = Produto('Arroz', 5) p2 = Produto('Iphone', 11500) p3 = Produto('Caneca', 5) carrinho.inserir_produto(p1) carrinho.inserir_produto(p1) carrinho.inserir_produto(p2) carrinho.inserir_produto(p2) carrinho.inserir_produto(p3) carrinho.inserir_produto(p3) carrinho.lista_produtos() print(f'Valor Total R$: {carrinho.soma_total()}')
from classes import CarrinhoCompras, Produto carrinho = CarrinhoCompras() p1 = Produto('Camisa', 50) p2 = Produto('iphone', 10000) p13 = Produto('Caneca', 20) carrinho.inserir_produto(p1) carrinho.inserir_produto(p2) carrinho.lista_produto() print(carrinho.soma_total())
""" Agregação: Uma classe existe sem a outra, no entanto uma depende da outra para o correto funcionamento, uma classe depende da outra """ from classes import CarrinhoDeCompras, Produto #Instancia a Classe CarrinhoDeCompras carrinho = CarrinhoDeCompras() #cadastra os produtos Classe Produto p1 = Produto('Feijão', 2.50) p2 = Produto('Abacate', 2.00) p3 = Produto('Uva', 5.50) #Insere os produtos no carrinho de compras carrinho.inserir_produto(p1) carrinho.inserir_produto(p2) carrinho.inserir_produto(p3) #Lista os produtos do carrinho de compras carrinho.lista_produtos() #Soma o valor dos produtos do carrinho de compras. carrinho.soma_total()
""" Agregação (Tem outro objeto) Duas classes que podem existir separadas, mas que precisam uma da outra para funcionar corretamente ex: Classe Carrinho de compras, que recebe objetos da Classe Produto """ from classes import CarrinhoCompra, Produto print('\n##### Instanciando classes independetes #####') carrinho = CarrinhoCompra() p1 = Produto('Camisa', 50) p2 = Produto('Calça', 80) p3 = Produto('Sapato', 70) print('\n##### Associando as classes #####') carrinho.inserir_produto(p1) carrinho.inserir_produto(p2) carrinho.inserir_produto(p2) carrinho.lista_produtos()
from classes import CarrinhoDeCompras, Produto carrinho = CarrinhoDeCompras() produto1 = Produto('Camiseta', 50) produto2 = Produto('Sapato', 150) produto3 = Produto('Calça', 180) carrinho.inserirProduto(produto1) arrinho.inserirProduto(produto2) arrinho.inserirProduto(produto3) carrinho.listaProdutos() print(carrinho.somaTotal())