class Conta:
def __init__(self, numero: int, titular: str, saldo: float, limite: float):
print(f"Construindo objeto...{self}")
self.__numero = numero
self.__titular = titular
self.__saldo = saldo
self.__limite = limite
def extrato(self):
print(f"Olá, {self.__titular}, seu saldo é de R${self.__saldo:.2f}")
def sacar(self, desconto):
if desconto > self.__saldo + self.__limite:
print("Saldo insuficiente!")
elif desconto > self.__saldo and desconto < self.__saldo + self.__limite:
usar_credito = int(input("Você está prestes a usar seu limite, está certo disso? \n 1 - Sim 2 - Não "))
if (usar_credito == 1):
self.__saldo -= desconto
print(f'Seu saldo é de {self.__saldo:.2f}')
else:
print("operação abortada")
else:
self.__saldo -= desconto
print(f'Seu saldo é de {self.__saldo:.2f}')
def depositar(self, deposito):
self.__saldo += deposito
print(f'foram depositados R${deposito:.2f}')
def transferir(self, valor, destino):
self.sacar(valor)
destino.depositar(valor)
print(f'Foram retirados R${valor:.2f} da conta de {self.__titular} e transferidos para {destino.__titular}')
conta2 = Conta(100, 'Marco', 1000,4000)
Construindo objeto...<conta.Conta object at 0x0000024B36950EE0>
conta1 = Conta(100,'Nico', 1000,3000)
Construindo objeto...<conta.Conta object at 0x0000024B36951B10>
conta1.transferir(1100, conta2)
Você está prestes a usar seu limite, está certo disso?
1 - Sim 2 - Não >? 1
Seu saldo é de -100.00
foram depositados R$1100.00
Foram retirados R$1100.00 da conta de Nico e transferidos para Marco
conta1.extrato()
Olá, Nico, seu saldo é de R$-100.00