1
resposta

desafio opcional: Python POO - 1 (Datas)

class Datas:
    def __init__(self, dia, mes, ano):
        print("Informado o dia, mês e ano!")
        self.dia = dia
        self.mes = mes
        self.ano = ano

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

Resolvido!

1 resposta

Olá Rafael, tudo bem com você?

Peço desculpas pela demora em lhe responder.

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 que foi 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 Datas 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 1/3/2023, seria preenchido com zeros a esquerda, como apresentado abaixo:

class Datas:
    def __init__(self, dia, mes, ano):
        print("Informado o dia, mês e 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 Datas
obj_data = Datas(1, 3, 2023)
obj_data.formatada()

Resultado

01/03/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.

Espero ter ajudado. Fico à disposição.

Abraços e bons estudos!