Opa, não sou instrutor mas vi a pergunta e decidi estudar um pouco. No python 3 números que iniciam com 0 não são aceitos como válidos, assim sendo, tem essas duas formas aí pra tentar resolver:
#Forma 1 (Provavelmente a mais correta) = Já passar os parametros dentro de string""
class Datas:
def __init__(self, dia, mes, ano):
self.dia = dia
self.mes = mes
self.ano = ano
print("{}/{}/{}".format(self.dia, self.mes, self.ano))
print(f"{self.dia}/{self.mes}/{self.ano}")
print(self.dia, self.mes, self.ano, sep="/")
data = Datas("01", "08", "2021")
#Forma 2 (Gambiarra)= Colocar o "0" manualmente depois do teu número
class Datas:
def __init__(self, dia, mes, ano):
self.dia = dia
self.mes = mes
self.ano = ano
def validar_data(self):
if self.dia < 10:
self.dia = str(self.dia)
self.dia = "0" + self.dia
if self.mes < 10:
self.mes = str(self.mes)
self.mes = "0" + self.mes
def printar_datas(self):
self.validar_data()
print("{}/{}/{}".format(self.dia, self.mes, self.ano))
print(f"{self.dia}/{self.mes}/{self.ano}")
print(self.dia, self.mes, self.ano, sep="/")
data = Datas(9, 2, 2021)
data.printar_datas()