1
resposta

Desafio Opcional

class Datas:

    def __init__(self):
        print("Construindo a formatação de Data")

    def formataData(self, dia, mes, ano):
        self.dia = dia
        self.mes = mes
        self.ano = ano
        if len(str(dia)) == 1:
            self.dia = "0"+str(dia)
        if len(str(mes)) == 1:
            self.mes = "0"+str(mes)
        print("Data Formatada = {}/{}/{}".format(self.dia, self.mes, self.ano))

Olá, o meu código fiz dessa forma. Fiz a implantação deste 'if' para quando mandarem datas com apenas 1 número (exemplo 1/2/2021). Dá para fazer várias implementações ai, mas, achei essa uma básica para compartilhar.

1 resposta

Olá, Victor Freidinger. Tudo bom?

Muito bem observado. As vezes manter um padrão na forma como o resultado é apresentado é muito bom. No caso, como você quer manter o padrão da data com 2 dígitos para dia e mês e 4 dígitos para ano, você pode utilizar uma implementação das versões mais atuais do Python (que eu não me recordo o nome agora, mas deixo de exercício pra você buscar na documentação, rs), que é isso :

dia, mes, ano = 3, 9, 2020

print(f'{dia:02}/{mes:02}/{ano}'

você pode trocar o 2 pela extensão que quiser, e o valor a ser mostrado será completado com 0's à esquerda.

Dessa forma, o código mais enxuto que consegui fazer foi este:

class Data():

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

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