1
resposta

Desafio Opcional DATAS

Dei uma incrementada no código, assim coloquei parâmetros para se evitar datas erradas:

class Data: def init(self, dia, mes, ano): self.dia = dia self.mes = mes self.ano = ano

def imprimir_data(self):
    if self.mes > 12:
        print(f'Data inválida: {self.dia}/{self.mes}/{self.ano}, por favor trocar a data.')
    elif self.dia > 31:
        print(f'Data inválida: {self.dia}/{self.mes}/{self.ano}, por favor trocar a data.')
    elif self.ano < 1900:
        print(f'Data inválida: {self.dia}/{self.mes}/{self.ano}, por favor trocar a data.')
    elif self.dia > 29 and self.ano == 2:
        print(f'Data inválida: {self.dia}/{self.mes}/{self.ano}, por favor trocar a data.')
    elif self.dia or self.mes or self.ano < 0:
        print(f'Data inválida: {self.dia}/{self.mes}/{self.ano}, por favor trocar a data')
    else:
        print(f'{self.dia}/{self.mes}/{self.ano}')
1 resposta

Oi Istefferson tudo bem?

Legal sua função, mas aqui

elif self.dia > 29 and self.ano == 2: 

é self.mes não é?

E aqui

    elif self.dia or self.mes or self.ano < 0:

o correto é :

    elif self.dia <=0 or self.mes <=0  or self.ano <=0:

Espero ter ajudado e bons estudos!!!