3
respostas

[Projeto] Desafio resolvido!

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))
3 respostas

Olá Manoel, tudo bem com você?

Meus parabéns pelo seu empenho. Fico feliz que tenha compartilhado a resolução do desafio com a comunidade do fórum Alura, ele atende bem o proposto.

Aproveitando essa oportunidade deixou uma dica para implementação do método formatada, através da formatação de string podemos manipular os valores do dia e mês para serem impressos em um padrão determinado. Importante: para que essa implementação seja possível, os valores fornecidos no momento da criação do objeto da classe Data deverão ser do tipo int.

Deixo abaixo um exemplo de formatação:

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

No exemplo acima, o :02d adicionado entre as chaves { } formata um inteiro (d) para um campo de largura mínima 2 (2), com preenchimento de zero à esquerda, quando a largura mínima de dois caracteres não for atendida. Então, caso passássemos a data 4/4/2023, seria preenchido com zeros a esquerda, como apresentado abaixo:

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

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

No python console

from datas import Data
obj_data = Data(4, 4, 2023)
obj_data.formatada()

Resultado

04/04/2023

Para conhecer um pouco mais sobre a formatação de string recomendo a leitura do seguinte artigo que irá abordar com mais detalhes sobre as possibilidades de formatação de string:

O conteúdo recomendado acima está em inglês, o uso da língua inglesa é bem comum na área de tecnologia, mas não se preocupe, caso não tenha afinidade com essa linguagem, recomendo que utilize o tradutor do navegador para uma melhor compressão.

Não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Fico à disposição.

Abraços e bons estudos!

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

Daora, eu errei na segunda chamada do metodo

Segue o desafio opcional já aproveitando a dica do @Felipe Rafael:

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

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