Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Desafio Opcional de Data

class Data:

    def __init__(self, dia, mes, ano):

        print("{}/{}/{}".format(dia, mes, ano))

        self.dia = dia

        self.mes = mes

        self.ano = ano
    

Fui dar uma olhada no resultado dos colegas, e percebi que o código correto seria mais ou menos assim:

class Data:

    def __init__(self, dia, mes, ano):
        print("Formatando data...".format(self))
        self.dia = dia
        self.mes = mes
        self.ano = ano

    def formatada(self):
        print("{}/{}/{}".format(dia, mes, ano))
1 resposta
solução!

Olá, Pietra!

No seu código, você tentou usar o método formatada para imprimir a data, mas não referenciou corretamente as variáveis dia, mes e ano. Em Python, quando você está dentro de um método de uma classe e quer referenciar uma variável da classe, você precisa usar self.nome_da_variavel.

Então, o seu método formatada deveria ser algo assim:

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

Além disso, a linha print("Formatando data...".format(self)) no construtor __init__ não é necessária para a funcionalidade do código. Se você quiser manter essa linha para fins de depuração, você pode, mas ela não afeta a funcionalidade do seu código.

Então, o código final da sua classe Data ficaria assim:

class Data:

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

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

Espero ter ajudado e bons estudos!