Olá Caio, 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 que foi proposto.
Notei que no momento da criação do objeto da classe Data
foi fornecido como parâmetro números do tipo int
iniciados com zero (d = Data(06, 02, 23)
), caso o código seja executado, será elevado um erro de sintaxe (SyntaxError: leading zeros in decimal integer literals are not permitted) informando que no Python não é permitido número do tipo int
com um zero à esquerda.
Caso queira que a data seja apresentada para o usuário com um zero à esquerda uma das alternativas que temos será através da formatação de string, através dela podemos manipular os valores do dia e mês para sejam impressos em um padrão determinado, para que isso seja possível os valores fornecidos no momento da criação do objeto data deverão ser do tipo int
como no seu código, deixo abaixo um exemplo de formatação implementada no método data
:
def data(self):
print("A data é {: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 6/2/23, 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 data(self):
print("A data é {:02d}/{:02d}/{}".format(self.dia, self.mes, self.ano))
No terminal Python
from datas import Data
d = Data(6, 2, 23)
d.data()
Resultado
A data é 06/02/23
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!