3
respostas

Script correto porem não roda Console

Ola,

Eu fiz o script e confirmei nas respostas que está correto, porém, quando rodo o console para gravar a data, ele da o seguinte problema:

Python 3.9.6 (tags/v3.9.6:db3ff76, Jun 28 2021, 15:26:21) [MSC v.1929 64 bit (AMD64)] on win32 from data import Data d = Data(27, 11, 2007) Traceback (most recent call last): File "", line 1, in TypeError: Data() takes no arguments

Tentei inserir com " " e continua não funcionando

Porém, o script que rodei está da seguinte forma:

class Data:

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

def formatar(self):
    print(self.dia, self.mes, self.ano, sep = "/")
3 respostas

Já descobri o meu problema, está no:

def int que deveria ser def init

Bem legal, eu também consegui resolver este desafio, mas fiz de uma forma um pouco diferente:

class Data:

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

def formatada(self):
    print(f'{self.dia:02}/{self.mes:02}/{self.ano}')

Veja que eu coloque depois do self.dia o :02, isto serve para quando o dia ou o mês forem com somente um caracter inteiro, por exemplo: 1, 2, 3... Quando forem esses caracteres o programa colocará um zero para sempre ficar com dois caracteres. Por exemplo: d = Data(1, 2, 2000) d.formatada() O resultado será: 01/02/2000

Bacana Igor, muito obrigada, dica bem util =)