Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Meu desafio

class Data:

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

def exibir(self):
    print("{}/{}/{}".format(self.dia, self.mes, self.ano))
1 resposta
solução!

Olá Allan, tudo bem com você?

Meus parabéns pela implementação do código e por compartilhá-lo com a comunidade do fórum Alura, fico muito feliz por isso.

Executando o seu código vi que os métodos __ init__ e exibir estão fora da classe Data, isso acontece devido a indentação (números de espaços), é necessário colocar os dois métodos dentro da classe.

Deixo o código abaixo para comparação.

class Data:

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

    def exibir(self):
        print("{}/{}/{}".format(self.dia, self.mes, self.ano))


obj_data = Data(9, 5, 2022)
obj_data.exibir()

Resultado

9/5/2022

Uma dica para implementação do método exibir(self) é a manipulação dos valores do dia e mês para que sejam fornecidos em um padrão determinado, para isso devemos inserir nas data valores do tipo int, deixo abaixo um exemplo:

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

No exemplo acima :02d formata um inteiro (d) para um campo de largura mínima 2 (2), com preenchimento de zero à esquerda, quando a largura mínima de dois caracteres não for atendida. Então, caso passássemos a data 9/5/2022, seria preenchido com zeros a esquerda, como mostro abaixo:


class Data:

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

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


obj_data = Data(9, 5, 2022)
obj_data.exibir()

Resultado

09/05/2022

Para saber um pouco mais sobre a formatação de sting recomendo a leitura do seguinte artigo:

O artigo está em inglês caso tenha dificuldades com o idioma, recomendo que use o tradutor que existe no navegador.

Continue assim sempre usando o fórum, seja para compartilhar conhecimentos ou para tirar dúvidas.

Abraços e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software