Extra: tipagem, linters e settings.json do VS Code
This commit is contained in:
10
.vscode/settings.json
vendored
10
.vscode/settings.json
vendored
@@ -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
|
||||
}
|
||||
|
||||
@@ -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__':
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user