1
resposta

Consegui implementar o input nas datas

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

    def CriaData(self):
        print('A data que formatada é: {}/{}/{}'.format(self.dia, self.mes, self.ano))

_______________________________________________________________________________________________________

from ClasseDatas import Data

novaData = Data(input('Digite o Dia'),input('Digite o mês'),input('Digite o Ano'))

print(novaData.CriaData())
1 resposta

Oii Henrique, como você está? Espero que esteja bem ^-^

Seu código está correto. Tenho apenas alguns pontos:

  • A título de legibilidade e reuso, é interessante definir uma variável para cada input. Dessa forma, fica explícito sobre a intenção daquele input, além de poder reutilizar a variável que armazenou a informação digitada em outros objetos.

Veja:

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

    def CriaData(self):
        print('A data que formatada é: {}/{}/{}'.format(self.dia, self.mes, self.ano))

dia = input('Digite o Dia')  
mes = input('Digite o mês')
ano = input('Digite o Ano')
novaData1 = Data(dia, mes, ano)
novaData2 = Data(dia, mes, ano)

novaData1.CriaData()
novaData2.CriaData()

No caso acima utilizamos os mesmos valores de dia, mes e ano para criarmos os objetos novaData1 e novaData2 e isso foi possível por armazenarmos na variável o input digitado.

  • Não é necessário fazer o print para a função CriaData, pois essa função já possui um print internamente. Podemos então simples chamar a função da seguinte forma:
novaData1.CriaData()
novaData2.CriaData()

Qualquer dúvida estou por aqui, tá bom?

Abraços e bons estudos!