Olá,
quanto ao desafio proposto não tive problemas, consegui resolver tranquilamente, porém eu quis incrementar mais algumas coisas para trabalhar com números de apenas um digito (no caso da data e do mês). Segue o código:
class Data:
def __init__(self,dia,mes,ano):
print("teste")
self.dia = dia
self.mes = mes
self.ano = ano
def formatada(self):
if self.dia and self.mes < 10:
print("0{}/0{}/{}".format(self.dia, self.mes, self.ano))
elif self.mes < 10:
print("{}/0{}/{}".format(self.dia, self.mes, self.ano))
elif self.dia < 10:
print("0{}/{}/{}".format(self.dia, self.mes, self.ano))
else:
print("{}/{}/{}".format(self.dia,self.mes,self.ano))
Tudo funciona normal, exceto pela parte em que o primeiro IF é executado sem motivo. Quando escrevo na linha de comando
d2 = Data(10,9,2007)
e depois chamo a função format em d2 o primeiro if é executado, mas ele deveria fazer isso apenas quando os dois valores forem menor que 10. Porque isso acontece?
obs: isso só acontece quando o mes é menor que 10, quando o dia é menor que 10 tudo funciona normalmente