diff --git a/.vscode/settings.json b/.vscode/settings.json index f44e96a..aebb1a4 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -22,7 +22,7 @@ "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.fixAll": true, - "source.fixAll.unusedImports": false, + "source.fixAll.unusedImports": true, "source.organizeImports": true } }, @@ -35,12 +35,12 @@ "python.linting.flake8Args": [ // "--ignore=E111", ], - "python.linting.flake8Enabled": false, - "python.linting.mypyEnabled": false, + "python.linting.flake8Enabled": true, + "python.linting.mypyEnabled": true, "python.testing.unittestEnabled": false, - "python.testing.pytestEnabled": false, + "python.testing.pytestEnabled": true, "python.analysis.diagnosticSeverityOverrides": {}, // "python.defaultInterpreterPath": "./venv/bin/python", - "python.analysis.typeCheckingMode": "off", + "python.analysis.typeCheckingMode": "basic", "cSpell.enabled": false } diff --git a/aula158/contas.py b/aula158/contas.py index a891f9f..a15e962 100644 --- a/aula158/contas.py +++ b/aula158/contas.py @@ -2,19 +2,20 @@ import abc class Conta(abc.ABC): - def __init__(self, agencia, conta, saldo=0): + def __init__(self, agencia: int, conta: int, saldo: float = 0) -> None: self.agencia = agencia self.conta = conta self.saldo = saldo @abc.abstractmethod - def sacar(self, valor): ... + def sacar(self, valor: float) -> float: ... - def depositar(self, valor): + def depositar(self, valor: float) -> float: self.saldo += valor self.detalhes(f'(DEPÓSITO {valor})') + return self.saldo - def detalhes(self, msg=''): + def detalhes(self, msg: str = '') -> None: print(f'O seu saldo é {self.saldo:.2f} {msg}') print('--') @@ -30,14 +31,18 @@ class ContaPoupanca(Conta): print('Não foi possível sacar o valor desejado') self.detalhes(f'(SAQUE NEGADO {valor})') + return self.saldo class ContaCorrente(Conta): - def __init__(self, agencia, conta, saldo=0, limite=0): + def __init__( + self, agencia: int, conta: int, + saldo: float = 0, limite: float = 0 + ): super().__init__(agencia, conta, saldo) self.limite = limite - def sacar(self, valor): + def sacar(self, valor: float) -> float: valor_pos_saque = self.saldo - valor limite_maximo = -self.limite @@ -49,6 +54,7 @@ class ContaCorrente(Conta): print('Não foi possível sacar o valor desejado') print(f'Seu limite é {-self.limite:.2f}') self.detalhes(f'(SAQUE NEGADO {valor})') + return self.saldo if __name__ == '__main__': diff --git a/aula158/main.py b/aula158/main.py index e5d2ad9..0da7331 100644 --- a/aula158/main.py +++ b/aula158/main.py @@ -35,4 +35,3 @@ Banco será responsável autenticar o cliente e as contas da seguinte maneira: Só será possível sacar se passar na autenticação do banco (descrita acima) Banco autentica por um método. """ -import contas