2
respostas

Pensei que não ia, e foi

Em vez do .format() usei f'string para impressão ao que foi proposto ecriei mais uma funcionalidade para impressão de data para cabeçalho

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

def formatada(self):
    print(f'{self.dia}/{self.mes}/{self.ano}')
    
def cabecalho(self):
    print(f'Aos {self.dia} dias, do mês {self.mes}, do ano de {self.ano}')

d = Data(21,11,2007) d.formatada()

2 respostas

Olá André, tudo bem? Espero que sim!

Sobre o uso de f'strings em vez de .format(), você está absolutamente correto. As f-strings são uma maneira mais recente e muitas vezes mais conveniente de formatar strings em Python. Elas foram introduzidas no Python 3.6 e são uma excelente alternativa ao método .format().

No entanto, notei um pequeno erro de sintaxe no seu código. Na função formatada, você esqueceu de fechar a chave antes de especificar o separador. O código correto seria:

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

Note que o separador '/' é diretamente colocado entre as chaves das variáveis, sem a necessidade de usar o parâmetro sep.

Quanto à função cabecalho, está correta e é uma adição interessante ao código!

Então, o código final ficaria assim:

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

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

    def cabecalho(self):
        print(f'Aos {self.dia} dias, do mês {self.mes}, do ano de {self.ano}')

d = Data(21,11,2007)
d.formatada()
d.cabecalho()

Espero ter ajudado!

Caso tenha dúvidas, fico à disposição.

Abraços e bons estudos!

verdade absoluta Sarah! não tinha me atentado sobre o separador. Fui digitando o código no fórum, ia usar o saparador, desisti, e acabei não removendo. Muito obrigado pelo seu feedback. Essa ajuda, nos motiva a continuar nos aperfeiçoando cada vez mais. Ótimo ano de 2024 pra você e toda equipe da Alura.

André Gustavo