1
resposta

[Projeto] [PROJETO] Formatação de Data - Python POO

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))
1 resposta

Oi Matteus,

Aqui tem um errinho conceitual. Repare que o método formata_data não usa self! Ou seja, o método nao usa o estado do objeto. Em outras palavras, é uma função ou procedimento.

Veja a diferença nessa implementação:

https://cursos.alura.com.br/forum/topico-projeto-desafio-data-303848

Repara o self!

Além disso, vc poderia implementar a validação dos dados já no __init__.

Tudo bem?

abs, Nico