Realizei uma validação básica na inserção dos dias e dos meses também.
class FormataData:
def __init__(self,dia,mes,ano):
self.dia = dia
self.mes = mes
self.ano = ano
def formata_data(self):
retorno = None
flag,mensagem = self.valida_data(self.dia,self.mes,self.ano)
if(flag):
retorno = str(self.dia)+"/"+str(self.mes)+"/"+str(self.ano)
else:
retorno = mensagem
return retorno
def valida_data(self,dia,mes,ano):
flag = True
mensagem = None;
meses_31 = [1, 3, 5, 7, 9, 10, 12]
if(dia == 31 and mes not in meses_31):
mensagem = "Dia inválido!!"
flag = False
if(dia >31 or mes > 12 or mes < 1):
mensagem = "Mês inválido!!!"
flag = False
return flag,mensagem