Olá, Marcos. Tudo bem?
Essa implementação do método idade()
aparece nas primeiras aulas do curso, porém ao longo dos vídeos o método é alterado devido a uma regra de negócio do projeto que não está sendo seguida.
Nessa primeira versão do método, ele só funcionaria caso a data de nascimento passada fosse somente o ano de nascimento, já que a conversão feita pelo int()
só acontece caso a string passada represente um número. Como no seu código a string passada para o int()
representa uma data, ocorre um erro.
Para corrigir isso, a implementação correta do método idade()
seria:
def idade(self):
data_nascimento_quebrada = self._data_nascimento.split('/')
ano_nascimento = data_nascimento_quebrada[-1]
ano_atual = date.today().year
return ano_atual - int(ano_nascimento)
Assim, o método obedece a regra de negócio sobre receber a data de nascimento e funciona sem erros, fazendo o tratamento da data e utilizando somente o valor do ano de nascimento para o cálculo da idade.
Basta substituir no seu código o método idade()
, que os testes serão executados corretamente.
No início de cada aula (módulo) existe uma atividade chamada Projeto da aula anterior. Assim é possível baixar a versão mais atualizada do projeto até aquele momento do curso. Dessa forma você evita que erros aconteçam por seu projeto estar desatualizado.
Espero ter ajudado. Qualquer outra dúvida estou a disposição.
Abraços. Bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!