Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Minha resolução do desafio opcional

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

    def formatada(self):
        print("{:02d}/{:02d}/{}".format(self.dia, self.mes, self.ano))
4 respostas

Olá Glauber, estou me aventurando no Python e tive uma ideia diferente, que eu acredito que chegue no mesmo resultado:

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

    def imprime(self):
        print('%s/%s/%s' % (self.dia, self.mes, self.ano))
solução!

Oi, Glauber e Eduardo! As duas soluções funcionam bem! No caso, minha recomendação é ficar com a solução do Glauber. Isso porque a maneira de formatar strings que o Eduardo usou já está desatualizada, segundo a própria documentação do Python, e pode ser removida em alguma versão futura da linguagem.

Parabéns para os dois e bons estudos!

Muito bom! A diferença é que eu usei o format e você usou o % que era mais usado no Python 2.7. A vantagem de usar o format é que eu consegui fazer a data no estilo 01/01/2018, mesmo passando um digito Data(1,1,2018). Isso porque coloquei o {:02d} que permite que eu formate 2 dígitos colocando o 0 antes, caso a data possua 1 dígito apenas.

Expressões regulares são sempre bem-vindas. Vou procurar me atualizar para o Python 3 o mais rápido possível. Grande abraço