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

03. Implementando Métodos - 09 Desafio Opcional

Minha implementação do desafio

Arquivo: datas.py

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))
2 respostas
solução!

Olá Rafael! Tudo tranquilo com você?

Excelente resolução do desafio! Está certinho. Parabéns :)

Vou passar apenas algumas pequenas dicas que podem te ajudar a deixar sua função formatada ainda melhor :)

Seria interessante também, acrescentar uma formatação para mostrar os zeros à esquerda dos números que possuem apenas um dígito. Assim:

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

Dessa forma, se o usuário criar o seguinte objeto:

data1 = Data(3,5,2000)
data1.formatada()

Ele terá como resultado: 03/05/2000 com os zeros antes dos números de apenas um dígito.

Para deixar seu print ainda menor, podemos utilizar o método de formatação mais novo da linguagem Python, o f-strings:

def formatada (self):
    print(f'{self.dia:02d}/{self.mes:02d}/{self.ano}')

Esse código funciona da mesma forma que utilizando o método format. A diferença é que ele é mais novo e deixa seu código um pouco menor :)

Espero que tenha ajudado. Qualquer dúvida estou à disposição.

Bons estudos!

Obrigado Millena. Refatorando o código do desafio com os seus inputs :)