1
resposta

[Projeto] Aprendizados deste modulo em código.

#a ultima aula eu entendi o que vc disse professor, porem, não funcionou no meu (utilizo o visual studio, deixei comentado pq não foi e tive que criar um passa o mes para 3ª conta pq não estava indo de jeito nenhum.

#Listas e polimorfismo

class Conta(): #a utilização desta metaclass ABCMeta faz com que o erro apareça nas subclasses logo que tente instanciar, e não somente quando for chamado. def init(self, codigo): self._codigo = codigo self._saldo = 0

def deposita(self, valor):
    self._saldo += valor

def __str__(self):
    return "(>>Codigo {} Saldo {}<<)".format(self._codigo, self._saldo)

print(Conta(88))

class ContaCorrente(Conta): def passa_o_mes(self): self._saldo -= 2

class ContaPoupanca(Conta): def passa_o_mes(self): self._saldo *=1.01 self._saldo -= 3

#@abstractmathod class ContaInvestimento(Conta): def passa_o_mes(self): self._saldo *=1.0137

conta16 = ContaCorrente(16) conta16.deposita(1000) print(conta16)

conta17 = ContaPoupanca(17) conta17.deposita(1000) print(conta17)

conta18 = ContaInvestimento(18) conta18.deposita(1000) print(conta18)

contas = [conta16, conta17, conta18]

print("passando o mes")

for conta in contas: conta.passa_o_mes() #Dock type print(conta)

#Array, evitar usar

#import array as arr

#numeros = arr.array('d', [1, 3.5])

import numpy as np

numeros = np.array([1, 3.5])

print(numeros)

print("+3")

numeros += 3

print(numeros)

#utilisamos array com numpy pq é mais otimizado.

1 resposta

E aí! Beleza? Primeiro, achei interessante a parada das classes ContaCorrente, ContaPoupanca, e ContaInvestimento herdando da classe mãe Conta. Só acho que pode ter rolado um typo no código, saca? Acho que ao invés de #@abstractmathod, talvez fosse @abstractmethod. Pode ser isso que tá causando o problema.

Ah, e sobre a parte do "passando o mês", reparei que tá dando um loop nas contas e chamando o método passa_o_mes. Só um detalhe: o print(conta) depois do loop vai imprimir o último estado da conta, porque no Python, a variável conta vai manter o valor da última iteração. Se quiser ver o saldo atual em cada iteração, pode colocar um print dentro do loop.

Valeu!