Eu fiquei um pouco incomodado que o professor tentou corrigir o saque no código mas ele não resolveu a parte da transferência, uma conta com R$1000 de saldo e limite somados poderia enviar por exemplo R$ 1500 para outra conta, a mensagem falando que a conta não tinha dinheiro suficiente aparecia e o dinheiro permanecia na conta original mas a conta que ia receber o dinheiro, ainda recebia tudo sem problemas, eu corrigi o erro quando eu vi que o professor não ia resolve-lo. PS: eu não sei se eu deveria enviar uma correção de código aqui, qualquer coisa me avisem que eu envio para o local correto
class Conta:
def __init__(self, numero, titular, saldo, limite):
print(f'Construindo objeto ... {self}')
self.__numero = numero
self.__titular = titular
self.__saldo = saldo
self.__limite = limite
def deposito(self, valor):
self.__saldo += valor
def __permicao_de_saque(self, valor):
return valor <= (self.__saldo + self.limite)
def saque(self, valor):
if self.__permicao_de_saque(valor):
if (self.__saldo - valor) < 0:
self.__limite += self.__saldo - valor
self.__saldo = 0
else:
self.__saldo -= valor
return True
else:
print(f'Este valor ultrapassa o seu limite de saque em R${valor - (self.__saldo + self.__limite)}')
return False
def transferencia(self, valor, destino):
if self.saque(valor):
destino.deposito(valor)
else:
print('Não foi possível concluir a transferencia')