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

Desafio Opcional

Meu código:

class Data:
    def __init__(self, dia, mes, ano):
        self.dia = dia
        self.mes = mes
        self.ano = ano
        self.formatada()

    def formatada(self):
        print("{:02}/{:02}/{}".format(self.dia, self.mes, self.ano))


>>> from datas import Data
>>> data = Data(21, 11, 2007)
21/01/2008
2 respostas
solução!

Olá Fabrício, tudo bem?

Apesar do código mostrar a saída da data formatada é necessário um ajuste na classe Data:

class Data:
    def __init__(self, dia, mes, ano):
        self.dia = dia
        self.mes = mes
        self.ano = ano
        self.formatada()    # você não precisa dessa linha aqui!!!!!!

    def formatada(self):
        print("{:02}/{:02}/{}".format(self.dia, self.mes, self.ano))

A formatação da data deve vir do método formatada e não como um atributo da classe. Então, para obter a data formatada você deve chamar o método. Assim:

data = Data(21, 11, 2007)
data.formatada()

E obterá a saída: 21/11/2007

Bons estudos!

Boa tarde a todos, Prof. Fabrício, excelente curso que você está dando, obrigado!

Segue o meu código:
class Data:
    def __init__(self, dia, mes, ano):
        print("Construindo objeto ... {}".format(self))
        self.dia = dia
        self.mes = mes
        self.ano = ano
    def formatada(self):
        print("A data formatada é {} / {} / {}".format(self.dia, self.mes, self.ano))