No meu projeto eu inseri uma condição para que dias tenham entre 1 a 31 dias, meses de 1 a 12 e ano sempre menor ou igual ao ano atual. Penso que posso melhor se colocar mais condições considerando meses com 28, 30 e 31 dias. Mas acho que já é um bom avanço.
Obs: Por algum motivo o fórum não coloca meu código inteiro no espaço destinado a ele
from datetime import date
class Data:
def __init__(self, dia, mes, ano):
self.dia = dia
self.mes = mes
self.ano = ano
def formata_data(self, d, m, a):
if 1 <= d <= 31 and 1 <= m <= 12 and a <= date.today().year:
data_formatada = f'{d}/{m}/{a}'
return data_formatada
else:
return 'Data Inválida'
d = Data(21, 11, 2007)
print(d.formata_data(21, 11, 2007))