Estou com dúvidas no método transferência,pois se o usuário digitar um valor para transferência acima do saldo disponível,esse valor é transferido a outra conta mesmo o programa acusando que a conta origem não tem esse saldo disponível.
class Conta:
def __init__(self,numero,titular,saldo,limite):
print(f'Objeto criado {self}')
self.__numero = numero
self.__titular = titular
self.__saldo = saldo
self.__limite = limite
self.__tarifaTransferencia = 7.5
def extrato(self):
print(f'Cliente {self.__titular} possui em sua conta o valor de {self.__saldo} reais e um limite de {self.__limite} reais')
def __saque_disponivel(self,valor_para_saque):
valor_disponivel_saque = self.__saldo
return valor_para_saque <= valor_disponivel_saque
def saque(self,valor):
if self.__saque_disponivel(valor):
self.__saldo -= valor
else:
print(f'Valor {valor} reais indisponível!A conta não possui esse saldo para retirada.')
def __valor_deposito(self,valor_para_deposito):
valor_disponivel_deposito = self.__limite - self.__saldo
return valor_para_deposito <= valor_disponivel_deposito
def deposito(self,valor):
if self.__valor_deposito(valor):
self.__saldo += valor
else:
print(f'Não foi possível concluir a operação.A conta possui um limite de {self.__limite} reais!')
def transferencia(self, valor, destino):
self.saque(valor)
destino.deposito(valor)