1
resposta

Desafio Opcional - Lendo as datas

Boa tarde,

implementei seguinte código para o desafio opcional de ler as datas:

class Data:

    def __init__(self, dia=1, mes=1, ano=2000):
        # print("Construindo objeto {}".format(self))

        # atributos da classe Data
        self.dia = dia
        self.mes = mes
        self.ano = ano

    # métodos
    def formatada(self):
        # print("{}/{}/{}".format(self.dia, self.mes, self.ano))
        print(f'{self.dia:02d}/{self.mes:02d}/{self.ano}')

Observe que coloquei duas formas de print(). Tenho duas perguntas simples que talvez possam me ajudar:

1) Posso usar o código abaixo sem medo, certo?

Data(1,11,2007).formatada()

ou é sempre uma boa prática chamar uma referência para o objeto e depois aplicar o método?

2) No código acima, se eu usar o código:

Data(01,11,2007).formatada()

aparecerá um erro

  File "<input>", line 1
    Data(01,11,2007).formatada()
         ^
SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers

Em um programa formal, eu sempre devo me preocupar em filtrar essa entrada e remover os zeros da esquerda do número?

Obrigado e até mais!

Atenciosamente, Diogo Costa

1 resposta
O post foi fechado por inatividade após 3 meses. Para continuar o assunto, recomendamos criar um novo tópico. Bons Estudos!