Incluí no método Sacar um verificador do Limite de Crédito disponível, que analisa se o valor sacado ultrapassa o Saldo e o Saldo + Limite e realiza as operações considerando esses valores (obs.: limite de crédito padrão definido para 1000.00)
O que acham? Como posso melhorar o código?
def Sacar(self, valor):
#verificando se o valor ultrapassa o limite do saldo e o limite de crédito
if self.__saldo < valor <= self.__limite + self.__saldo:
#autorizando a utilização do limite especial de crédito
while True:
try:
check = int(input('UTILIZANDO LIMITE DE CRÉDITO. DESEJA CONTINUAR A OPERAÇÃO?\n'
'1 - SIM\n2 - NÃO\n: '))
if check not in [1, 2]:
print('DIGITE UMA OPÇÃO VÁLIDA.')
else:
break
except ValueError:
print('DIGITE UMA OPÇÃO VÁLIDA.')
#checando a escolha do cliente
if check == 1:
self.__limite -= valor - self.__saldo
self.__saldo = 0
else:
print('OBRIGADO POR UTILIZAR O BONIS BANK.')
else:
#operando o saque normalmente, caso o saldo não tenha sido extrapolado
self.__saldo -= valor
print(f'Saldo atualizado (CC:{self.__conta}): {self.__saldo}\n'
f'Saldo + Limite {self.__saldo + self.__limite}')