Notei que meu código continua sacando o dinheiro....
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
self.__saldo_limite = saldo + limite
def extrato(self):
print(f'Olá, {self.__titular} o seu saldo é de R$:{self.__saldo}')
def depositar(self, valor):
validar_valor = valor > 0
if(validar_valor):
self.__saldo += valor
else:
print('Valor inválido')
def __pode_sacar(self, valor):
valor_a_sacar = self.__saldo_limite >= valor
return valor_a_sacar
def sacar(self, valor):
if(self.__pode_sacar(valor)):
self.__saldo -= valor
else:
print('Valor inválido')
def transferir(self, valor, conta):
validar_saldo_e_limite = (self.__saldo + self.limite) >= valor
if(validar_saldo_e_limite):
self.sacar(valor)
conta.depositar(valor)
@property
def saldo(self):
return self.__saldo
@property
def titular(self):
return self.__titular
@property
def limite(self):
return self.__limite
@property
def limite(self, limite):
self.__limite = limite
classe teste.....
from conta import Conta
def cria_conta(numero, titular, saldo, limite):
conta = {"numero": numero, "titular": titular, "saldo": saldo, "limite": limite}
return conta
conta = Conta(123, "NICO", 100.00, 1000.0)
conta2 = Conta(1233, "Manoel", 200.00, 1500.0)
conta.extrato()
conta.depositar(50)
conta.extrato()
conta.sacar(50)
conta.extrato()
conta.sacar(1056.0)
conta.extrato()
conta.sacar(1155.0)
conta.extrato()
print('+--------------------------------------+')
conta2.extrato()
conta2.depositar(50)
conta2.extrato()
conta2.sacar(50)
conta2.extrato()
conta2.sacar(1700.0)
conta2.extrato()
conta2.sacar(1700.0)
conta2.extrato()
Saída é Olá, Manoel o seu saldo é de R$:-3200.0;
Agora se eu colocar 1700.01 ai ele aparece (Valor inválido)
joguei no terminal igual o professor....
>>> from conta import Conta
>>> conta2 = Conta(1233, "Manoel", 200.00, 1500.0)
Construindo objeto... <conta.Conta object at 0x00000267B7907D60>
>>> conta2.sacar(1500)
>>> conta2.extrato()
Olá, Manoel o seu saldo é de R$:-1300.0
>>> conta2.sacar(1500)
>>> conta2.sacar(1500)
>>> conta2.sacar(1500)
>>> conta2.sacar(1500)
>>> conta2.sacar(1500)
>>> conta2.sacar(1500)
>>> conta2.sacar(1500)
>>> conta2.sacar(1500)
>>> conta2.sacar(1500)
>>> conta2.sacar(1500)
>>> conta2.sacar(1500)
>>> conta2.sacar(1500)
>>> conta2.sacar(1500)
>>> conta2.sacar(1500)
>>> conta2.sacar(1500)
>>> conta2.extrato()
Olá, Manoel o seu saldo é de R$:-23800.0