예제 #1
0
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
def main():
    cliente = Pessoa('Edson', 34, '999.999.999-99')

    # Para conseguir utilizar os valores e os
    # métodos da conta, primeiramente é
    # necessário instância-la
    nova_conta = Conta()
    nova_conta.agencia = 12
    nova_conta.numero = 100
    nova_conta.cliente = cliente

    print('Uma nova conta foi criada')
    print(nova_conta.saldo)

    nova_conta.depositar(500)
    nova_conta.depositar(2000)
    nova_conta.sacar(2000)
    print(nova_conta.saldo)

    print(f'Agência: {nova_conta.agencia}')
    print(f'Número: {nova_conta.numero}')
    print(f'Cliente: {nova_conta.cliente.nome}')

    print('---- Movimentações ----')
    for mov in nova_conta.movimentacoes:
        print(f'Data: {mov.data}')
        print(f'Valor: {mov.valor}')
        print(f'Tipo: {mov.tipo}')
        print('\n')
예제 #3
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}')
예제 #4
0
def test_conta_extrato_2():
    c = Cliente('nome', 99999999, '*****@*****.**')
    cc = Conta([c], 1, 200)
    cc.sacar(150)
    cc.depositar(250)
    extrato = cc.tirar_extrato()
    assert len(extrato) == 3, (
        'O extrato deve conter duas entradas para esse teste')
    assert extrato[0] == ('saldo inicial',
                          200), ('A primeira entrada está incorreta')
    assert extrato[1] == ('saque', 150), ('A segunda entrada está incorreta')
    assert extrato[2] == ('deposito',
                          250), ('A terceira entrada está incorreta')
예제 #5
0
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'
예제 #6
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)
예제 #7
0
def main():
    cliente  = Pessoa ('Edson',34,'999.999.999-99')
    #Para conseguir utilizar os valores e os métodos da conta, primeiramente é necessário instancia-la
    nova_conta=Conta()
    nova_conta.agencia =12
    nova_conta.numero =100
    nova_conta.cliente = cliente
    print('Uma nova conta for criada ')


    nova_conta.depositar(2000)

    nova_conta.depositar(500)

    nova_conta.sacar(500)

    print(f'Novo saldo: {nova_conta.saldo}')

    print(f'Agência: {nova_conta.agencia}')
    print(f'Número: {nova_conta.numero}')
    print(f'Cliente: {nova_conta.cliente.nome}')
예제 #8
0
class ContaTeste(unittest.TestCase):
    def setUp(self):
        self.Conta1 = Conta('5555555', '0668', 1000, '87436981072',
                            'Thamyris Cardoso')
        self.Conta2 = Conta('222', '0698', 2500, '87436999079',
                            'Helena Leivas')

    def test_equal(self):
        self.assertEqual(self.Conta1.nome, 'Thamyris Cardoso')

    def test_saldo(self):
        self.assertGreaterEqual(self.Conta1.saldo, 1000)

    def test_sacarTrue(self):
        self.assertTrue(self.Conta1.sacar(500))

    def test_depositarFalse(self):
        self.assertFalse(self.Conta1.depositar(1100))

    def test_transfere(self):
        self.assertTrue(self.Conta1.transferencia(self.Conta2, 500))
예제 #9
0
Esse software podera ser capaz de criar Clientes e Contas
Cada Cliente possui: Nome, CPF, Idade
Cada Conta possui: Cliente(Dono), Saldo, Limite negativo,
métodos: Sacar, Depositar, Consultar Saldo
'''
from cliente import Cliente
from conta import Conta

print('BANCO DO TIO GUI')
print('---------------------')

cliente_1 = Cliente('Guilherme', 393595875, 17)
conta_cliente_1 = Conta(cliente_1, 1000, 500)
print(
    '\n1 - Consultar dados Cliente \n2 - Consultar Saldo \n3 - Sacar \n4 - Depositar'
)
opcao = int(input('Escolha uma opção: '))
if opcao == 1:
    print('Nome:', conta_cliente_1.cliente.nome)
    print('CPF:', conta_cliente_1.cliente.cpf)
    print('Idade:', conta_cliente_1.cliente.idade)
elif opcao == 2:
    print('Seu saldo é de: R$', conta_cliente_1.saldo)
elif opcao == 3:
    conta_cliente_1.sacar(200)
    print('Você sacou e agora seu saldo é de: R$', conta_cliente_1.saldo)
elif opcao == 4:
    conta_cliente_1.depositar(500)
    print('Você depositou e agora seu saldo é de: R$', conta_cliente_1.saldo)
else:
    print('Numero Invalido')
예제 #10
0
'''
print('                   Informações do Cliente                     ')

from cliente import Cliente

usuario = Cliente('João', 14285740770, 24)
print('Nome do cliente:', usuario.nome)
print('cpf:', usuario.cpf)
print('Idade do cliente:', usuario.idade)

print('                 Informações da conta do Cliente 2                 ')

from conta import Conta

cc = Conta('Camila', 14085950670, 22, 100000.00, 1000.00)
print('Nome do cliente:', cc.nome)
print('cpf:', cc.cpf)
print('Idade do cliente:', cc.idade)
print('Saldo da CC:R${:.2f}'.format(cc.saldo))
print('limite do cheque especial:R${:.2f}'.format(cc.limite))

retirada = input('Qual o valor da retirada.\nDigite aqui: R$')

cc.sacar(retirada)
print('Seu novo saldo é R${:.2f}'.format(cc.saldo))

deposit = input('Qual o valor que você deseja depositar?\nDigite aqui:R$')

cc.deposito(deposit)
print('Seu novo saldo é R${:.2f}'.format(cc.saldo))
예제 #11
0
파일: main.py 프로젝트: marcosATr/repo-blue
# Crie uma classe chamada Conta para simular as operações de uma conta corrente. Sua classe deverá ter os atributos Titular e Saldo, e os métodos Sacar e Depositar. Crie um objeto da classe Conta e teste os atributos e métodos implementados.​ Adicione uma regra no método Sacar, onde o usuário só poderá sacar se o Saldo for maior que zero, caso contrário mostre a mensagem na tela: "Você não tem saldo suficiente para essa operação."
from conta import Conta

p1 = Conta('Rafael', 1500)
print(p1)
p1.sacar(1600)
p1.sacar(200)
p1.depositar(3000)
예제 #12
0
# EXERCÍCIO: Crie um software de gerenciamento bancário. Esse software poderá ser capaz de criar clientes e contas.
# Cada cliente possui nome, cpf e idade. Cada conta possui um cliente, saldo, limite e sacar, depositar e consultar
# saldo.
#----------------------------------------------------------------------------------------------------------------------#

# importando classes
from cliente import Cliente
from conta import Conta

# criando objeto cliente
cliente1 = Cliente("Artur de Camargo Baldon", "02869821964", 39)

# exibindo cliente
print(cliente1)

# criando objeto conta
conta1 = Conta(cliente1.nome, 300, 1000)

# exibindo conta
print(conta1)

# saque
conta1.sacar(310)
print(conta1.saldo)

# deposito
conta1.depositar(30)
print(conta1.saldo)

# consulta
print(conta1.consulta())
예제 #13
0
파일: main.py 프로젝트: matheusscheu/AED2
from conta import Conta

conta1 = Conta('matheus', 50, 21, 300)

print(conta1.nome)
conta1.depositar(300)
print(conta1.saldo)
conta1.consulta()

conta1.sacar(100)

conta1.consulta()
예제 #14
0
from conta import Conta
from cliente import Cliente

cliente1 = Cliente('Lucas Santos', '420.815.268-08', 21)
print(cliente1)

conta1 = Conta(cliente1, 1000, 3000)

conta1.depositar(5000)
conta1.depositar(1500)
conta1.consultar_saldo()
conta1.sacar(800)
conta1.consultar_saldo()
conta1.sacar(1700)
conta1.consultar_saldo()
예제 #15
0
        if conta_logada == None:
            conta_logada = Conta(numero_conta)
            contas.append(conta_logada)
        print("Bem vindo a sua conta")

    elif comando == 'fechar':
        with open('dados.txt', 'w') as dados:
            json.dump(contas, dados, default=converter_lista_json)
        exit()
    elif comando == 'deposito' and conta_logada != None:
        valor = int(input("Valor do depósito:"))
        conta_logada.depositar(valor)

    elif comando == 'saque' and conta_logada != None:
        valor = int(input("Valor do saque:"))
        conta_logada.sacar(valor)

    elif comando == 'saldo' and conta_logada != None:
        conta_logada.exibir_saldo()
        print(conta_logada.numero)

    elif comando == 'extrato' and conta_logada != None:
        conta_logada.exibir_extrato()

    elif comando == 'transferencia' and conta_logada != None:
        if conta_logada.saldo <= 0:
            print("Voce não tem saldo para transferencias")
        else:
            valor_transf = int(input("Valor da transferencia:"))
            if valor_transf > 0 and valor_transf <= conta_logada.saldo:
                conta_transf = int(input("conta de destino:"))
예제 #16
0
from cliente import Cliente
from conta import Conta

cliente1 = Cliente('Ranie', '123.456.789-10', 27)

conta_rani = Conta(cliente1, 0, 1000)

print(conta_rani.cliente.nome, conta_rani.consulta_saldo())

conta_rani.depositar(1000)

print(conta_rani.consulta_saldo())

conta_rani.sacar(500)

print(conta_rani.consulta_saldo())

conta_rani.sacar(1000)

print(conta_rani.consulta_saldo())
예제 #17
0
from cliente import Cliente
from conta import Conta

cliente1 = Cliente('Breno', '123.456.789-10', 39)

conta1 = Conta(cliente1, 10.00, 1000)

print(conta1.cliente.nome, conta1.consultar_saldo())

conta1.depositar(1000)

print(conta1.consultar_saldo())

conta1.sacar(1500)

print(conta1.consultar_saldo())
예제 #18
0
from conta import Conta
from cliente import Cliente

cli = Cliente('José Luiz','79996854830')
p1 = Conta(3432,0,cli)
p1.depositar(5000.00)


p1.listarExtrato()
p1.sacar(7000)
p1.sacar(85000)
p1.sacar(6000)

p1.listarExtrato()
예제 #19
0
파일: execucao.py 프로젝트: rtribiolli/520
from conta import Conta, Poupanca

c1 = Conta('Daniel', 12345, 1000)
c2 = Conta('Maria', 54321, 1000)

# c1.transferir(1100, c2)
# c2.render_juros()
# print(c1.saldo)
# print(c2.saldo)
c2.sacar(500)
print(c2.saldo)

c1.sacar(500)
print(c1.saldo)


예제 #20
0
	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':
		saque = float(raw_input("Valor a ser sacado: \033[0;31m"))
		print("\033[0m")
		conta_usuario.sacar(saque)
예제 #21
0
파일: app.py 프로젝트: fabiocesarsouza/504
from conta import Conta, Poupanca

c1 = Conta('123', 1000)
c2 = Poupanca('456', 500)

print('sacar da conta 1 ', c1.sacar(200))
print('saldo conta1', c1.getsaldo())

print('saldo apos deposito: ', c1.depositar(100))
print('saldo apos transferencia: ', c1.transferir(100, c2))
print('saldo conta1', c1.getsaldo())
print('saldo conta2', c2.getsaldo())
예제 #22
0
class ClientThreading(threading.Thread):
    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

    def run(self):
        while True:
            received = json.loads(self._csocket.recv(1024).decode())

            if received["action"] == "cadastro":
                self.registrar(received)
            elif received["action"] == "autenticar":
                self.autenticar(received)
            elif received["action"] == "saque":
                self._sinc.acquire()
                self.saque(received)
                self._sinc.release()
            elif received["action"] == "deposito":
                self._sinc.acquire()
                self.deposito(received)
                self._sinc.release()
            elif received["action"] == "transferir":
                self._sinc.acquire()
                self.transferir(received)
                self._sinc.release()
            elif received["action"] == "extrato":
                self.extrato()
            elif received["action"] == "sair":
                self.sair()

    def registrar(self, received):
        cliente = Pessoa(received["nome"], received["sobrenome"],
                         received["cpf"])

        if self._contas.cadastra(cliente):
            msg = "Cadastro realizado com sucesso!"
        else:
            msg = "Este CPF já foi cadastrado antes"

        print(msg)
        self._csocket.send(msg.encode())

    def autenticar(self, received):
        dicionario = {}
        conta = self._contas.busca(received["cpf"])

        if (conta):
            self._contas.atualizar_conta(True, conta[0])
            self._cpf_autenticado = conta[4]

            dicionario["autenticado"] = True
            dicionario["msg"] = f"{conta[2]} autenticado com sucesso!"
        else:
            dicionario["autenticado"] = False
            dicionario["msg"] = f"Esse CPF ainda não foi cadastrado!"

        print(dicionario["msg"])
        dicionario = json.dumps(dicionario)
        self._csocket.send(dicionario.encode())

    def saque(self, received):
        saque = self._contas.sacar(self._cpf_autenticado, received["valor"])

        if (saque):
            msg = "Saque efetuado com sucesso!"
        else:
            msg = "Saldo insuficiente!"

        print(msg)
        self._csocket.send(msg.encode())

    def deposito(self, received):

        self._contas.deposito(self._cpf_autenticado, received["valor"])
        msg = "Depósito efetuado com sucesso!"

        print(msg)
        self._csocket.send(msg.encode())

    def transferir(self, received):
        conta = self._contas.busca(received["cpf"])

        if conta:
            if self._contas.transferir(self._cpf_autenticado, received["cpf"],
                                       received["valor"]):
                msg = "Transferência efetuada com sucesso!"
            else:
                msg = "Saldo para transferência insuficiente"
        else:
            msg = "CPF não encontrado!"

        print(msg)
        self._csocket.send(msg.encode())

    def extrato(self):
        dicionario = dict()

        conta = self._contas.busca(self._cpf_autenticado)
        dicionario["numero"] = conta[1]
        dicionario["nome"] = f"{conta[2]} {conta[3]}"
        dicionario["cpf"] = conta[4]
        dicionario["saldo"] = conta[5]
        dicionario["limite"] = conta[6]

        dicionario = json.dumps(dicionario)
        self._csocket.send(dicionario.encode())

    def sair(self):
        conta = self._contas.busca(self._cpf_autenticado)
        self._contas.atualizar_conta(False, conta[0])

        self._cpf_autenticado = None

        msg = f"{conta[2]} saiu da conta!"
        print(msg)
        self._csocket.send(msg.encode())
        self._contas.mostrar_contas()
예제 #23
0
'''
EXERCÍCIO - AULA 9 - PYTHON BÁSICO - SOLYD TREINAMENTOS
Crie um software de gerenciamento bancário
Esse software poderá ser capaz de criar clientes e contas
Cada cliente possui nome, cpf, idade
Cada conta possui um cliente, saldo, limite, sacar, depositar e consultar_saldo
'''

from cliente import Cliente
from conta import Conta

nome = input('Nome: ')
cpf = input('CPF: ')
idade = input('Idade: ')

cliente1 = Cliente(nome, cpf, idade)

conta1 = Conta(cliente1, 500, 2000)

print(conta1.saldo)
conta1.sacar(1000)
print(conta1.consultar())
conta1.depositar(2000)
print(conta1.consultar())
conta1.sacar(750)
print(conta1.consultar())
예제 #24
0
print(conta1.saldo)

print("")
print(
    "Impressão de uma transferência de R$ 10.00 saindo da conta 1 e indo para a conta 2:"
)
conta1.transferir(10, conta2)
print("Saldo conta 2: R$ {}".format(conta2.saldo))
print("Saldo conta 1: R$ {}".format(conta1.saldo))

print("")
print("Impressão do teste de alteração direta pelo método @limite.setter")
conta1.limite = 2000
print("Limite da conta 1: {}".format(conta1.limite))
print(
    "Conta 1, número {} tem como titular o Sr. {} é o saldo e {} é o limite de {}"
    .format(conta1.numero, conta1.titular, conta1.saldo, conta1.limite))

print("")
print("Impressão do teste da tentativa de saque de 5000:")
conta1.sacar(5000)

print("")
print("O código do banco é: {}".format(Conta.codigo_bco(
)))  #detalhe que estou pedindo informação diretamente da classe, não do objeto

print(
    "A Conta 1, do banco {4} número {0} tem como titular o Sr. {1} é o saldo e {2} é o limite de {3}"
    .format(conta1.numero, conta1.titular, conta1.saldo, conta1.limite,
            conta1.codigo_bco()))
예제 #25
0
from conta import Conta, Cliente, Data, Historico

data1 = Data("01", "janeiro", 2020)
data2 = Data("02", "janeiro", 2020)

cliente1 = Cliente("felipe", "ferreira", 123456789)
cliente2 = Cliente("alisson", "saraiva", 987654321)

conta1 = Conta("123-4", cliente1, 200, 1000, data1)
conta2 = Conta("123-5", cliente2, 150, 3000, data2)

conta1.depositar(50)
conta1.sacar(30)
conta1.transferir(conta2, 20)
conta1.extrato()

conta2.depositar(80)
conta2.sacar(40)
conta2.extrato()
conta1.historico.imprimir()
예제 #26
0
from conta import Conta

cliente00 = Conta('Alexia', 1990, 'Goiânia', '(62)99911-0000',
                  '001.001.001-10', 0)
print('Nome:', cliente00.nome)
print('Nascimento:', cliente00.nasc)
print('Localidade:', cliente00.cidade)
print('Telefone:', cliente00.fone)
print('CPF:', cliente00.cpf)
print(cliente00)
cliente00.depositar(20)
print('Saldo:', cliente00.saldo)
cliente00.sacar(15)
print('Saldo:', cliente00.saldo)

print('                                   ')
cliente01 = Conta('Fulana', 1989, 'Goiânia', '(62)99911-0001',
                  '021.011.021-10', 0)
print('Nome:', cliente01.nome)
print('Nascimento:', cliente01.nasc)
print('Localidade:', cliente01.cidade)
print('Telefone:', cliente01.fone)
print('CPF:', cliente01.cpf)
print(cliente01)
cliente01.depositar(10000)
print('Saldo:', cliente01.saldo)
cliente01.sacar(750)
print('Saldo:', cliente01.saldo)
예제 #27
0
from conta import Conta

conta1 = Conta("2009", "David", 800.0)

#mostrar para o usuario os dados atuais da conta
print("Numero da conta:", conta1.numero, "\nCorrentista:", conta1.correntista,
      "\nSaldo disponivel:", conta1.saldo)

novo_nome = input("\nDigite um novo nome para o correntista: ")
conta1.alterar_nome(novo_nome)

conta1.depositar(100)

deucerto = conta1.sacar(20)

if (deucerto):
    print("Saque efetuado com sucesso")
else:
    print("Saldo insuficiente!")
return

conta1.depositar(100)
예제 #28
0
from cliente import Cliente
from conta import Conta

cliente1 = Cliente('0x00s4d', '011.001.111-01', 22)
print(cliente1)

conta1 = Conta(cliente1, 2000.55, 3000)
print(conta1.cliente.nome, conta1.consulta_saldo())
conta1.depositar(550)
print(conta1.consulta_saldo())
conta1.sacar(4000)
print(conta1.consulta_saldo())
conta1.sacar(2000)
print(conta1.consulta_saldo())

예제 #29
0
from cliente import Cliente
from conta import Conta

cliente1 = Cliente('Gui', '123.456.789-10', 27)

print(cliente1)

conta_do_gui = Conta(cliente1, 10.50, 1000)

print(conta_do_gui.cliente.nome, conta_do_gui.consulta_saldo())

conta_do_gui.depositar(1000.40)

print(conta_do_gui.consulta_saldo())

conta_do_gui.sacar(500)

print(conta_do_gui.consulta_saldo())

conta_do_gui.sacar(1000)

print(conta_do_gui.consulta_saldo())
예제 #30
0
from cliente import Cliente
from conta import Conta

cliente1 = Cliente("Daniel", "003", 18)
print(cliente1.nome, cliente1.cpf, cliente1.idade)

conta1 = Conta("Daniel", 500, 1000)
print(conta1.nome_do_cliente, conta1.saldo, conta1.limite)

conta1.sacar(501)
print(conta1.saldo)

conta1.depositar(1000)
print(conta1.saldo)
예제 #31
0
from conta import Conta
from client import Cliente

client1 = Cliente('Vitor', '371.002.988.06', 29)

print('Nome: ', client1.nome)
print('CPF: ', client1.cpf)
print('Idade: ', client1.idade)

conta1 = Conta('123', 50, 'R$ 1000,00')

print('Numero da conta: ', conta1.numero)
print('saldo em conta: R$ ', conta1.saldo)
print('limite da conta: ', conta1.limite)

conta1.sacar(30)

print('Saldo em conta: R$ ', conta1.saldo)

conta1.deposito(50)

print('Saldo em conta: R$ ', conta1.saldo)
예제 #32
0
from conta import Conta
from cliente import Cliente

cliente1 = Cliente('Erick', 20, '197.125.667-65')
conta = Conta(cliente1, 400.60)
conta.depositar(1000.40)
conta.sacar(200.50)

print(conta)