2
respostas

[Sugestão] Desafio Opcional

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

Olá Marcela, 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 1/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(1, 4, 2023)
obj_data.formatada()

Resultado

01 / 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!

Outra forma de implementar

class Data():
    def __init__(self, dia, mes, ano):
        self.dia = dia
        self.mes = mes
        self.ano = ano
        print("Formatada: {}/{}/{}".format(self.dia, self.mes, self.ano))

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software