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

Minha proposta de Solução

class Data:

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

    def formatar(self):
        print('{}/{}/{}'.format(self.data,self.mes,self.ano))

2 respostas
solução!

Oii Leandro, tudo tranquilo?

Excelente resposta, está certinho. Parabéns por isso!

Vou passar apenas algumas pequenas dicas que podem te ajudar a deixar sua classe Data ainda melhor ^^

Ao passar o valor para seus atributos, não é necessário acrescentar os parênteses:

class Data:

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

Além disso, acredito que você poderia trocar o nome do atributo data para dia. Assim fica mais claro qual parte da data aquele atributo representa.

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 formatar(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.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Milena, muito obrigado pelo comentário, foi enriquecedor.

Na hora de construir o código eu fiquei na dúvida de como inserir o zero e você elucidou essa questão. E também não conhecia a funçao f-strings.

Abraço,

Lea