Solucionado (ver solución)

Importante

Estás viendo la versión anterior de la nueva experiencia de Alura que estamos preparando para ti. Pronto tendrá una identidad visual completamente nueva, pensada para potenciar tus estudios.

Solucionado
(ver solución)
1
respuesta

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 respuesta
solución!

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.