コード例 #1
0
ファイル: test_banco.py プロジェクト: msmaker/banco-python
def test_conta_saque():
    c = Cliente('nome', 99999999, '*****@*****.**')
    cc = Conta([c], 1, 100)
    cc.sacar(50)
    assert cc.saldo == 50, 'Saldo da conta incorreto'
    assert ('saque',
            50) in cc.tirar_extrato(), ('Saque não registrado no extrato')
コード例 #2
0
ファイル: test_banco.py プロジェクト: msmaker/banco-python
def test_conta_deposito():
    c = Cliente('nome', 99999999, '*****@*****.**')
    cc = Conta([c], 1, 100)
    cc.depositar(200)
    assert cc.saldo == 300, 'Saldo da conta incorreto'
    assert ('deposito',
            200) in cc.tirar_extrato(), ('Depósito não registrado no extrato')
コード例 #3
0
ファイル: conta_corrente.py プロジェクト: gdarold/Des_web2019
	def __init__(self, saldo):
		Conta.__init__(self,saldo)
		

	

		
コード例 #4
0
ファイル: test_banco.py プロジェクト: msmaker/banco-python
def test_conta_extrato():
    c = Cliente('nome', 99999999, '*****@*****.**')
    cc = Conta([c], 1, 100)
    extrato = cc.tirar_extrato()
    assert type(extrato) == list, 'O extrato deve ser uma lista'
    assert len(extrato) == 1, (
        'O extrato deve conter apenas uma entrada para esse teste')
    assert ('saldo inicial',
            100) in extrato, ('Saque inicial não registrado no extrato')
コード例 #5
0
    def __init__(self, clientAddress, clientsocket, sinc):
        threading.Thread.__init__(self)

        self._clientAddress = clienteAddress
        self._csocket = clientsocket
        self._sinc = sinc
        print("Nova conexão: ", clientAddress)

        self._contas = Conta()
        self._cpf_autenticado = None
コード例 #6
0
ファイル: lista.py プロジェクト: christophersousa/MiniBanco
    def adicInic(self, ident, cpf, saldo):

        no = Conta(ident, cpf, saldo)
        if self.__inicio == None:
            no.prox = self.inicio
            self.__inicio = no
            self.__tamanho += 1

        else:
            print('Lista já tem o primeiro objeto')
コード例 #7
0
 def acessoContas(self):
     numAcessoConta, ok = QInputDialog.getText(
         self, 'Acessar Conta',
         'Digite o número da conta:')  #outro dialogo.
     if numAcessoConta in self.contas:
         self.conta = Conta(numAcessoConta, self.contas[numAcessoConta])
         self.visaoGeralCC(
         )  #Para chamar os outros botoes "saldo, saque, etc." qndo clicar para acessar conta
     else:
         errAcsConta = QMessageBox.warning(
             self, "Erro",
             "Não existe uma conta cadastrada com esse número!")
コード例 #8
0
 def buscar(self, numero):
     with connect(self._dados_con) as conn:
         cur = conn.cursor()
         cur.execute('SELECT * FROM conta WHERE codigo = %s', [numero])
         linha = cur.fetchall()
         conta = Conta(linha[0][1], linha[0][2], linha[0][3], linha[0][4])
         conta.codigo = linha[0][0]
         daocl = clienteDao()
         busc = daocl.buscar(int(linha[0][5]))
         conta.addCliente(busc)
         return conta
         conn.commit()
         cur.close()
コード例 #9
0
ファイル: test_banco.py プロジェクト: msmaker/banco-python
def test_conta_saque_erro():
    c = Cliente('nome', 99999999, '*****@*****.**')
    cc = Conta([c], 1, 100)
    try:
        cc.sacar(150)
    except ValueError:
        assert cc.saldo == 100, (
            'O saldo não deve ser alterado quando o saque for inválido')
        assert ('saque', 150) not in cc.tirar_extrato(), (
            'Um saque inválido não deve ser registrado no extrato')
    except Exception:
        assert False, 'Erro diferente de ValueError para saque inválido'
    else:
        assert False, 'Permitiu a realização de um saque inválido'
コード例 #10
0
def Main():
    '''Metodo main'''

    contaCriada = None
    resposta = "S"
    while resposta == "S":
        print("DIGITE 1 PARA CADASTRAR CLIENTE")
        print("DIGITE 2 PARA SACAR")
        print("DIGITE 3 PARA DEPOSITAR")
        print("DIGITE 4 PARA EXTRATO")
        print('DIGITE 5 PARA MOSTRAR HISTORICO')
        print('DIGITE 0 PARA SAIR')
        entrada = int(input("ESCOLHA A FUNÇÃO: "))

        if entrada == 1:
            '''Entrada 1, entrada do cliente'''
            a = input("Nome:")
            b = input("Sobrenome:")
            c = input("CPF:")
            d = Cliente(nome=a, sobrenome=b, cpf=c)
            s = int(input("Número da conta:"))
            x = int(input("Saldo inicial da conta:"))
            y = int(input("Limite da conta:"))
            z = Data()
            contaCriada = Conta(numero=s,
                                titular=d,
                                saldo=x,
                                limite=y,
                                dataabertura=z)

        if entrada == 2:
            '''Entrada 2, entrada para o saque'''
            valorSaque = int(input('valor do saque: '))
            contaCriada.saca(valorSaque)

        if entrada == 3:
            '''Entrada 3, para depositar'''
            valorDeposito = int(input("Valor do Deposito: "))
            contaCriada.deposita(valorDeposito)

        if entrada == 4:
            '''Entrada 4, para ver o extrato'''
            contaCriada.extrato()

        if entrada == 5:
            '''Entrada 5, para mostrar o historico'''
            contaCriada.mostrarListaHistorico()

        resposta = str(input("DESEJA FAZER NOVA TRANSAÇÃO?[S/N] ")).upper()
コード例 #11
0
 def listar(self):
     with connect(self._dados_con) as conn:
         cur = conn.cursor()
         lista_conta = []
         cur.execute('SELECT * FROM conta')
         for linha in cur.fetchall():
             conta = Conta(linha[1], linha[2], linha[3], linha[4])
             conta.codigo = linha[0]
             daocl = clienteDao()
             busc = daocl.buscar(int(linha[5]))
             conta.addCliente(busc)
             lista_conta.append(conta)
         return lista_conta
         conn.commit()
         cur.close()
コード例 #12
0
ファイル: teste_conta.py プロジェクト: gdarold/Des_web2019
class teste:

    conta1 = Conta(100)

    conta1.imprimir_saldo()

    conta2 = Conta_corrente(1000)

    conta2.imprimir_saldo()

    conta2.depositar(150)

    conta2.retirar(100)

    conta2.imprimir_saldo()

    conta3 = Conta_poupanca(500)

    conta3.imprimir_saldo()

    conta3.poupar()

    conta3.imprimir_saldo()

    conta4 = Conta_imposto(500)
    conta4.calcular_imposto(5)
    conta4.imprimir_saldo()
コード例 #13
0
 def abre_conta(self, clientes, saldo_inicial):
     if saldo_inicial < 0:
         raise ValueError 
     else:
         num_contas = len(self.__contas)+1
         c1 = Conta(clientes, num_contas, saldo_inicial)
         self.__contas.append(c1)
コード例 #14
0
 def abre_conta(self, lista_clientes, saldo_inicial):
     if saldo_inicial < 0:
         raise ValueError()
     else:
         self.__contas.append(
             Conta(lista_clientes, self.__ultimaconta + 1, saldo_inicial))
         self.__ultimaconta = self.__ultimaconta + 1
コード例 #15
0
def salvarConta():
    numero = request.form["numero"]
    agencia = request.form["agencia"]
    saldo = request.form["saldo"]
    tipo = request.form["tipo"]
    cliente = request.form["cliente"]
    daocliente = clienteDao()
    c = daocliente.buscar(int(cliente))
    conta = Conta(numero, agencia, saldo, tipo)
    conta.addCliente(c)
    daoconta = contaDao()
    if (request.values.has_key("codigo") == True):
        cod = request.form["codigo"]
        conta.codigo = int(cod)
    daoconta.salvar(conta)
    return redirect('/conta/listar')
コード例 #16
0
 def abre_conta(self, clientes, saldo):
     if saldo < 0:
         raise ValueError
     else:
         numero = len(self.__contas) + 1
         c1 = Conta(clientes, numero, saldo)
         self.__contas.append(c1)
コード例 #17
0
ファイル: main_multitela.py プロジェクト: bianca-01/POO-II
 def cadastro(self):
     nome = self.tela_cadastro.lineEditNome.text()
     sobrenome = self.tela_cadastro.lineEditSobrenome.text()
     cpf = self.tela_cadastro.lineEditCpf.text()
     senha = self.tela_cadastro.lineEditSenha.text()
     if not (nome == '' or sobrenome == '' or cpf == '' or senha == ''):
         if cpf not in self.banco.clientes:
             c = Cliente(nome, sobrenome, cpf)
             if (self.banco.cadastrar_cliente(c)):
                 conta = Conta(c, senha)
                 if self.banco.cadastrar_conta(conta):
                     QMessageBox.information(
                         None, '$Bank',
                         f'O seu cadastro foi realizado!\nNumero da conta: {conta.numero}'
                     )
                     self.abrirTelaInicial()
             else:
                 QMessageBox.information(None, '$Bank',
                                         'Erro ao cadastrar dados')
         else:
             QMessageBox.information(None, '$Bank',
                                     'O CPF informado já está cadastrado!')
     else:
         QMessageBox.information(
             None, '$Bank', 'É obrigatório preencher todos os campos!')
コード例 #18
0
ファイル: test_banco.py プロジェクト: msmaker/banco-python
def test_conta_clientes():
    c = Cliente('nome', 99999999, '*****@*****.**')
    cc = Conta([c], 1, 0)
    clientes = cc.clientes
    assert len(clientes) == 1, 'Esta conta deveria ter apenas 1 cliente'
    assert clientes[0].nome == 'nome', 'Nome do cliente incorreto'
    assert clientes[0].email == '*****@*****.**', 'Email do cliente incorreto'
    assert clientes[0].telefone == 99999999, 'Telefone do cliente incorreto'
コード例 #19
0
 def cadastro(self,nConta,feedBackLabel):
     
     if self.contas.has_key(nConta) :
         feedBackLabel["text"]="Conta já cadastrada!"
     else:
         conta = Conta(nConta)
         self.contas[nConta] = conta
         feedBackLabel["text"]="Conta cadastrada com sucesso!"
コード例 #20
0
def criar_conta(cliente_gerado):
    print('\t[ ! ] Finalizando cadastro do cliente: {}'.format(
        cliente_gerado.nome))
    saldo = float(
        input('\n\t[ ? ] Digite a quantidade em reais que a conta terá. | R$'))
    limite = float(input('\t[ ? ] Digite o limite da conta em reais. | R$'))
    conta_cliente = Conta(cliente_criado, saldo, limite)
    print('\n\t[ / ] Conta do cliente criada com sucesso!\n')
    return conta_cliente
コード例 #21
0
ファイル: cliente.py プロジェクト: luizlzg/FintechsPOO
    def criar_conta(self):
        Cliente.clientes.append(self)
        print(
            "Agora que seu cadastro foi aceito, sua conta será gerada! Responda as perguntas necessárias!"
        )
        sleep(15)

        agencia = "0001"

        numero_conta = ""
        for i in range(1, 7):
            numero = randint(0, 9)
            if i % 5 == 0:
                numero_conta = numero_conta + str(numero) + "-"
            else:
                numero_conta = numero_conta + str(numero)

        taxa_rendimento = 0

        tipo_conta = "Conta Corrente"

        nome_titular = self.nome

        saldo = 0

        tipo_produto = "Conta"

        conta_criada = Conta(saldo, nome_titular, tipo_produto, agencia,
                             numero_conta, taxa_rendimento, tipo_conta)
        while conta_criada.add_conta() != 0:

            numero_conta = ""
            for i in range(1, 7):
                numero = randint(0, 9)
                if i % 5 == 0:
                    numero_conta = numero_conta + str(numero) + "-"
                else:
                    numero_conta = numero_conta + str(numero)

            conta_criada = Conta(saldo, nome_titular, tipo_produto, agencia,
                                 numero_conta, taxa_rendimento, tipo_conta)

        else:
            self.contas.append(conta_criada)
コード例 #22
0
def criar_conta(cliente):
    clear_screen()

    print('\nAdicionar nova conta')
    print(f'Nome do cliente: {cliente.nome}')

    saldo = int(input('Saldo:'))
    limite = int(input('Limite:'))

    return Conta(cliente, saldo, limite)
コード例 #23
0
ファイル: test_banco.py プロジェクト: msmaker/banco-python
def test_cria_conta():
    try:
        c = Cliente('nome', 99999999, '*****@*****.**')
        cc = Conta([c], 1, 0)
    except Exception:
        assert False, 'Erro ao criar conta'
    else:
        assert hasattr(cc, 'clientes'), 'Não criou o atributo público clientes'
        assert hasattr(cc, 'numero'), 'Não criou o atributo público numero'
        assert hasattr(cc, 'saldo'), 'Não criou o atributo público saldo'
コード例 #24
0
def main():
    #Para conseguir utilizar os valores e os métodos da conta, primeiramente é necessário instancia-la
    nova_conta = Conta()
    print('Uma nova conta for criada ')

    nova_conta.depositar(0)

    nova_conta.depositar(0)

    nova_conta.sacar()

    print(f'Novo saldo: {nova_conta.saldo}')
コード例 #25
0
ファイル: cliente.py プロジェクト: frederico-prog/python
    def abrir_conta(self, valor_min):
        self.valor = valor_min
        lista_numero = random.sample(range(0, 10), 8)
        global conta, Conta
        conta = ''

        if self.idade < 18:
            print('O cliente {} é menor de idade e não pode abrir a conta'.
                  format(self.nome))
        elif self.idade >= 18:
            if self.valor == 100:
                from conta import Conta
                for numero in lista_numero:
                    conta += str(numero)
            Conta.realizar_deposito(conta, self.valor)
            #print('Número da conta:', conta)
            print(
                'Conta aberta com sucesso. Seu saldo inicial é de R$ {0:.2f} reais'
                .format(self.valor))
コード例 #26
0
    def nova_conta(self):
        print_center("Cadastrar nova conta\n")
        print_center("=" * 80)

        nome_cliente = None
        telefone_cliente = None
        tipo_cliente = None
        limite_cliente = 0

        nome_cliente = raw_input("Nome do cliente: ")[:50].strip().upper()
        if (len(nome_cliente) <= 3):
            raw_input("\nO nome informado e invalido!")
            return
        telefone_cliente = raw_input("Num. telefone: ")[:15].strip()
        if (len(telefone_cliente) <= 8):
            raw_input("\nO telefone informado e invalido!")
            return

        tipo_cliente = raw_input(
            "Qual a categoria deste cliente? [C]omun ou [E]special: "
        )[:1].strip().upper()
        if ((tipo_cliente != "C") and (tipo_cliente != "E")):
            raw_input("\nO tipo informado e invalido!")
            return
        if (tipo_cliente == "E"):
            limite_cliente = float(
                raw_input("Qual limite bancario deste cliente? $ ")
                [:15].strip())
            if ((limite_cliente <= 0) or (limite_cliente > 10000)):
                raw_input(
                    "\nO limite informado e invalido (o max. permitido e $ 10.000)!"
                )
                return

        novo_cliente = Cliente(nome=nome_cliente, telefone=telefone_cliente)
        num_cadastro_cliente = novo_cliente.getID()
        if (tipo_cliente == "C"):
            nova_conta = Conta(cliente_id=num_cadastro_cliente)
        elif (tipo_cliente == "E"):
            nova_conta = ContaEspecial(cliente_id=num_cadastro_cliente)
            nova_conta.limite(limite_cliente)

        self._dataset["CLIENTES"].append(novo_cliente)
        self._dataset["CONTAS"].append(nova_conta)

        # persistir dados
        self.store()

        self.cabecalho_tela(nova_conta, novo_cliente)
        print_center("Cliente cadastrado com sucesso!\n\n")
        print_center("Codigo de cliente: {:8d}".format(
            nova_conta.getClienteID()))
        print_center("Numero conta: {:8d}\n\n\n".format(
            nova_conta.getNumero()))

        raw_input("\nPressione [ENTER] para voltar ao menu.")
        return
コード例 #27
0
    def abre_conta(self, clientes, saldo_inicial):
        if saldo_inicial < 0:
            raise ValueError

        try:
            numero = self.__contas[-1].numero + 1
        except IndexError:
            numero = 1
        finally:
            conta = Conta(clientes, numero, saldo_inicial)
            self.__contas.append(conta)
コード例 #28
0
    def store(self, seed=False):
        if (seed):
            # populando com dados de demostracao...
            clientes = [{
                "TIPO":
                "COMUM",
                "SALDO_INI":
                380.00,
                "CADASTRO":
                Cliente("Joao da Silva Filho", "(62) 98001-0001")
            }, {
                "TIPO":
                "COMUM",
                "SALDO_INI":
                50.00,
                "CADASTRO":
                Cliente("Maria das gracas meneguel", "(62) 98022-2222")
            }, {
                "TIPO": "ESPECIAL",
                "SALDO_INI": 250000.00,
                "LIMITE": 1000000,
                "CADASTRO": Cliente("Silvio Santos", "(11) 98000-0000")
            }, {
                "TIPO":
                "COMUM",
                "SALDO_INI":
                10.00,
                "CADASTRO":
                Cliente("Getulio Vargas", "(11) 98044-4444")
            }, {
                "TIPO": "ESPECIAL",
                "SALDO_INI": 500000,
                "LIMITE": 300000,
                "CADASTRO": Cliente("Paulo Guedes", "(11) 98000-0001")
            }]

            for cliente in clientes:
                if (cliente["TIPO"] == "COMUM"):
                    conta = Conta(cliente_id=cliente["CADASTRO"].getID(),
                                  saldo=cliente["SALDO_INI"])
                elif (cliente["TIPO"] == "ESPECIAL"):
                    conta = ContaEspecial(
                        cliente_id=cliente["CADASTRO"].getID(),
                        saldo=cliente["SALDO_INI"]).limite(cliente["LIMITE"])
                self._dataset["CLIENTES"].append(cliente["CADASTRO"])
                self._dataset["CONTAS"].append(conta)

        # salvar em arquivo binario compactado...
        with open(self._filename, 'wb') as fp:
            fp.write(
                zlib.compress(
                    pickle.dumps(self._dataset, pickle.HIGHEST_PROTOCOL), 9))

        return self
コード例 #29
0
ファイル: lista.py プロジェクト: christophersousa/MiniBanco
    def adicMeio(self, indice, ident, cpf, saldo):

        if self.__vazia():
            return True

        no = Conta(ident, cpf, saldo)
        q = 0
        p = self.__inicio
        cont = 1

        while cont < indice and p != None:
            q = p
            p = p.prox
            cont += 1
        if indice == 0 or p.prox == None:
            raise ValueError('Posição indicada não é permitida.')
        no.prox = p.prox
        p.prox = no
        p = q
        self.__tamanho += 1
コード例 #30
0
ファイル: lista.py プロジェクト: christophersousa/MiniBanco
    def adicFim(self, ident, cpf, saldo):

        if self.__vazia():
            return True

        p = self.inicio
        while p.prox != None:
            p = p.prox
        no = Conta(ident, cpf, saldo)
        p.prox = no
        self.__tamanho += 1
コード例 #31
0
class TestExercicio6(unittest.TestCase):

    def setUp(self):
        self.conta = Conta('Astrobaldo', 123, 100.00)

    def teste_consultar_dados_de_uma_conta(self):
        self.conta.dados |should| equal_to(['Astrobaldo', 123, 100.00])

    def teste_sacar_valor_disponivel_de_uma_conta(self):
        self.conta.sacar(50)
        self.conta.dados[2] |should| equal_to(50.0)

    def teste_sacar_valor_nao_disponivel_de_uma_conta(self):
        self.conta.sacar(200) |should| equal_to("Saldo insuficiente!")
        self.conta.dados[2] |should| equal_to(100)

    def teste_depositar_cinquenta_reais_em_uma_conta(self):
        self.conta.depositar(50)
        self.conta.dados[2] |should| equal_to(150)
コード例 #32
0
 def setUp(self):
     self.conta = Conta('Astrobaldo', 123, 100.00)
コード例 #33
0
ファイル: banco.py プロジェクト: srvinii/programming
# -*- coding: utf-8 -*-
from conta import Conta

try:
	raw_input
except NameError:
	raw_input = input

usuario = raw_input("Proprietário da conta: ")
saldo = float(raw_input("Saldo do proprietário: "))

conta_usuario = Conta(usuario, saldo)

while True:
	print("""
	1) Consultar saldo atual
	2) Realizar depósito
	3) Realizar saque
	""")

	escolha = raw_input("\033[0;36m Escolha: \033[0m")

	if escolha == '1':
		print("Saldo Atual: \033[0;33m R$ %.2f\033[0m\n\n"%conta_usuario.saldo)
	
	elif escolha == '2':
		deposito = float(raw_input("Valor a ser depositado: \033[0;32m"))
		print("\033[0m")
		conta_usuario.depositar(deposito)
	
	elif escolha == '3':
コード例 #34
0
ファイル: teste.py プロジェクト: WalterBrito/Python
# -*-  coding: utf-8 -*-

# Classe testes.py

print(60 * "=")

from clientes import Cliente
from conta import Conta

joão = Cliente("João da Silva", "1234-5678")
maria = Cliente("Maria Silva", "5678-1234")
josé = Cliente("José Silva", "6578-2134")

conta1 = Conta([joão], 1, 1000)
conta2 = Conta([maria, joão], 2, 500)
conta3 = Conta([joão, maria, josé], 3, 5000)
conta1.saque(5000)
conta2.deposito(300)
conta3.deposito(500)
conta1.saque(190)
conta2.deposito(95.15)
conta2.deposito(250)
conta3.deposito(150)
conta1.extrato()
conta2.extrato()
conta3.extrato()

print(60 * "=")