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

Desafio: Código Datas

class Dates:

    def __init__(self) -> None:
        self.month = int(input("Type the month: "))
        self.day = int(input("Type the day: "))
        self.year = int(input("Type the year: "))
        month = self.month
        day = self.day
        year = self.year
        print("Formating your date...")
        print(f"Formated date: {month}/{day}/{year}.")
        self.date = (f"{month}/{day}/{year}")
1 resposta
solução!

Olá Cauã, tudo bem com você?

Meus parabéns pela implementação do código, fico feliz que tenha compartilhado com a comunidade do fórum Alura. Quero aproveitar a oportunidade de deixar algumas dicas de implementação para o código.

Na orientação a objetos, dentro das classes declaradas, iremos acessar os atributos de um objeto através do uso do self, que representa o local na memória onde um objeto foi salvo, assim não será necessário salvarmos esses valores em uma segunda variável. Poderemos modificar o método inicializador ficando da seguinte forma.

def __init__(self) -> None:
    self.month = int(input("Type the month: "))
    self.day = int(input("Type the day: "))
    self.year = int(input("Type the year: "))
    self.date = f"{self.month}/{self.day}/{self.year}"

Como segunda boa prática na programação Orientada a Objetos será o objetivo de um método de classe, onde cada método deverá possuir um único objetivo, assim, como o proposto pela atividade, é recomendado a criação de um método que irá formatar uma data informada, será necessário separarmos a formatação presente no método inicializador e criarmos um método para realizarmos a formatação, como no exemplo abaixo.

def format(self):
    print("Formating your date...")
    print(f"Formated date: {self.month}/{self.day}/{self.year}.")

Assim, após a criação do nosso objeto do tipo Dates, devemos chamar o método format desse objeto para realizar a formatação e impressão das datas com o uso dos atributos desse objeto. Como por exemplo.

class Dates:

    def __init__(self) -> None:
        self.month = int(input("Type the month: "))
        self.day = int(input("Type the day: "))
        self.year = int(input("Type the year: "))
        self.date = f"{self.month}/{self.day}/{self.year}"

    def format(self):
        print("Formating your date...")
        print(f"Formated date: {self.month}/{self.day}/{self.year}.")

Terminal

from date import Dates

obj_date = Dates()

Type the month: >? 8
Type the day: >? 22
Type the year: >? 2022

obj_date.format()

Formating your date...
Formated date: 8/22/2022.

Lembre-se que pode contar sempre com o fórum Alura, seja para compartilhar o seu desenvolvimento ou para tirar suas dúvidas.

Fico à disposição.

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