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

Python 3 - Introdução a Orientação a Objetos - Aula 3 - Desafio opcional

class Data:
    def __init__(self, dia, mes, ano):
        self.dia = dia
        self.mes = mes
        self.ano = ano
    def formatada(self):
        if self.dia>9 and self.mes>9:
            print("{}/{}/{}".format(self.dia, self.mes, self.ano))
        if self.dia<10 and self.mes>9:
            print("0{}/{}/{}".format(self.dia, self.mes, self.ano))
        if self.dia>9 and self.mes<10:
            print("{}/0{}/{}".format(self.dia, self.mes, self.ano))
        elif self.dia<10 and self.mes<10:
            print("0{}/0{}/{}".format(self.dia, self.mes, self.ano))
2 respostas
solução!

Oiii Renato, como você está? Espero que esteja bem ^-^

Apenas uma consideração em relação ao seu código. A forma que fez não está errada, porém, poderíamos simplificar o método formatada() para a seguinte forma:

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

Da forma acima, definimos um preenchimento para o campo, no caso o 0 e após isso, uma largura mínima para o campo que no caso é 2, por fim, o tipo do campo d, que se refere a um número inteiro decimal. Nesse sentido, caso a largura mínima não seja atendida, preenchemos com zeros.

Deixo como referência o link da documentação do Python que trata a respeito desse assunto.

Mas novamente, a forma como você fez não está errada, o que mostrei foi apenas uma simplificação do código.

Qualquer dúvida estou por aqui, tá bom?

Grande abraço!

Grato pela informação!