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