cl2 = Cliente('Jose',321,12/10/1997) ban.adicionar_cliente(cl2) c1 = Conta(123,cl1,100,1000) ban.adcionar_conta(c1) c2 = Conta(432,cl2,850,1000) ban.adcionar_conta(c2) print(ban.busca_conta(432)) print("Depositos:") true_false(c1.deposita(10)) true_false(c1.deposita(900)) print("\n\nSaques:") true_false(c1.saca(20)) true_false(c1.saca(100)) print("\n\nTransferencias:") true_false(ban.transfere(c1.numero,c2.numero,50)) true_false(c2.transfere(1000,c1)) print("\n\nExtratos") print(ban.extrato(123)) print(c2.extrato()) print("\n\nHistorico") print(c1.ver_historico()) print(c2.ver_historico()) print(Conta.get_total_contas())
print('=' * 25) x = str(input('Digite o Número da Conta: ')) y = str(input('Nome do Cliente: ')) print(f'{"Bem vindo(a)!":^25}') print(f'O que deseja fazer hoje {y}?') cliente1 = Banco(x, y) while True: print('''Para extrato digite 1 Para saque digite 2 Para deposito digite 3 Para sair digite 000''') print('=' * 25) x = int(input('Opção desejada: ')) print('=' * 25) if x == 1: cliente1.extrato() print('=' * 25) elif x == 2: cliente1.sacar() print('=' * 25) elif x == 3: cliente1.depositar() print('=' * 25) elif x == 000: print('Tenha um ótimo dia, até mais.') break else: print('Opção inválida, tente novamente.')
class Servidor(): def __init__(self): self.conexao = None self.serv = None self.banco = Banco() self.iniciar() self.menu() def iniciar(self): host = 'localhost' port = 8000 addr = (host, port) serv_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) serv_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) serv_socket.bind(addr) serv_socket.listen(10) print('aguardando conexao...') con, client = serv_socket.accept() print(f'Conectado a {client}') self.conexao = con self.serv = serv_socket def recebe_dados(self): dados_recebidos = self.conexao.recv(1024).decode() dados = list(dados_recebidos.split(',')) #print(f'Recebido: {dados}') return dados def enviar_dados(self, dados): self.conexao.send(str(dados).encode()) print("Enviado!") def menu(self): ''' Metodo que recebe dados de um cliente e chama um metodo de acordo com o primeiro item: 1 - cadastra uma conta 2 - login 3 - Deposito 4 - Saque 5 - Extrato 6 - transferencia Se o primeiro item nao for uma das opcoes acima, a conexao com o cliente é encerrada ''' while True: d = self.recebe_dados() print(d) if d[0] == '1': self.cadastro(d) elif d[0] == '2': self.login(d) elif d[0] == '3': self.deposito(d) elif d[0] == '4': self.saque(d) elif d[0] == '5': self.extrato() elif d[0] == '6': self.transferencia(d) else: print('cliente encerrado') self.conexao = None print('aguardando conexao...') con, client = self.serv.accept() print(f'Conectado a {client}') self.conexao = con # lista: [1,cpf,nome,sobrenome,senha] def cadastro(self, d): if not self.banco._bd.busca(d[1]): if self.banco.cadastrar_conta(d[1], d[2], d[3], d[4]): numero = self.banco._bd.numero(d[1]) self.enviar_dados('True,{}'.format(numero)) else: self.enviar_dados('False') else: self.enviar_dados('False') #lista: [2,cpf,senha] def login(self, d): if self.banco.login(d[1], d[2]): dados = str(self.banco.conta_atual).strip('[]') self.enviar_dados(dados) else: self.enviar_dados(False) #lista: [3,valor] def deposito(self, d): d[1] = float(d[1]) dep = self.banco.depositar(d[1]) self.enviar_dados(dep) #lista: [4,valor] def saque(self, d): d[1] = float(d[1]) saq = self.banco.saque(d[1]) self.enviar_dados(saq) #lista = [5,cpf] def extrato(self): self.enviar_dados(self.banco.extrato()) #lista: [6,cpf_dest,valor] def transferencia(self, d): d[2] = float(d[2]) self.enviar_dados(self.banco.transfere(d[1], d[2]))