Olá, João. Tudo belezinha?
Ao executar o método transfere
, ele chama os métodos saca
e deposita
. Por isso esses prints são exibidos.
Uma forma de resolver isso pode ser a adição de um parâmetro booleano nos métodos saca
e deposita
, que seria usado para dizer se o print deve ser executado ou não. Algo como o código a seguir:
def deposita(self, valor, printa=True):
if self.__limitedep < valor:
print("Valor máximo de depósito excedido!!!")
else:
self.__saldo += valor
if(printa == True):
print("Valor depositado: R${}".format(valor))
def saca(self, valor, printa=True):
if self.__saldo < valor:
print("Saldo insuficiente!!!")
else:
self.__saldo -= valor
if(printa == True):
print("Saque efetuado: R${}".format(valor))
Assim, quando você chamar esses métodos no método transfere
, basta passar esse valor de printa
como False
:
def transfere(self, valor, destino):
self.saca(valor, False)
destino.deposita(valor, False)
print("Transferência realizada com sucesso!!!")
print("Valor de tranferência: R${}".format(valor))
Espero ter ajudado. Qualquer outra dúvida estou a disposição.
Abraços. Bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!