Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Valores negativos com o metodo saca

fiz como na aula, com umas pequenas mudanças

#metodo para sacar
def saca(self, valor):
        if(self.__pode_sacar(valor)):
            self.__saldo -= valor
            print(f"Saque no valor de R${valor} realizado com sucesso, seu saldo agora é de R${self.__saldo}")
        else:
            print(f"Seu saldo atual é de R${self.__saldo}, portanto não foi possível realizar o saque!")

#metodo privado
def __pode_sacar(self, valor_a_sacar):
        valor_disponivel_a_sacar = self.__saldo + self.__limite
        return valor_a_sacar <= valor_disponivel_a_sacar

mas mesmo assim ainda fica com o saldo negativo :( tô confuso porque eu copiei e colei esses dois métodos depois que deu o erro de ficar negativo e mesmo assim continua negativo :(

3 respostas
solução!

Lucas,

Tente essa alteração abaixo, entendo que o saque só pode ocorrer caso o valor disponível seja maior ou igual o valor a sacar. `

def __pode_sacar(self, valor_a_sacar):
    valor_disponivel_a_sacar = self.__saldo + self.__limite
    return valor_disponivel_a_sacar >= valor_a_sacar

`

Bom dia Lucas

O saldo negativo não é um erro, pois o limite não é somado ao saldo.

O saldo pode ficar negativo até o valor que o usuário tem de limite disponível.

Ex:

Saldo R$ 100,00 Limite R$ 1.000,00 Pode sacar = 1.100,00 (saldo + limite)

Se o usuário realiza um saque de R$ 1.100,00, será descontado o valor de saldo mais o limite, ficando com saldo negativo de - R$ 1.000,00 que é o valor do limite.

O limite é um crédito sedido pelo banco.

entendi, achei que não seria possível sacar usando o método da aula, vlw Marcos

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software