Olá, Segue abaixo o meu código:
class Data:
def __init__(self, dia, mes, ano):
self.dia = dia
self.mes = mes
self.ano = ano
def formatada(self):
print('{0:02d}/{1:02d}/{2:04d}'.format(self.dia, self.mes, self.ano))
O meu problema é que se o usuario digitar zero no começo do número como nesse exemplo d = Data(10, 01, 1980)
, da o seguinte erro: SyntaxError: leading zeros in decimal integer literals are not permitted; use an 0o prefix for octal integers. Vi em alguns artigos para digitar como string colocando aspas simples ou duplas com nesse exemplo d = Data(10, '01', 1980)
, mas quando vai ser executado a função d.formatada()
da esse erro: ValueError: Unknown format code 'd' for object of type 'str', e mesmo de eu modificar o código dirando o 'd' print('{0:02}/{1:02}/{2:04}'.format(self.dia, self.mes, self.ano))
da esse outro erro: ValueError: '=' alignment not allowed in string format specifier.
Gostaria que o usuario digitasse d = Data(10, 01, 1980)
e o python aceitasse.