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

Exercício resolvido

O meu código ficou conforme abaixo. Espero ajudar alguém.

class Pessoa:
    nome = ''
    idade = ''
    profissao = ''

    pessoas = []

    def __init__(self, nome, idade, profissao):
        self._nome = nome
        self._idade = idade
        self._profissao = profissao
        Pessoa.pessoas.append(self)

    def __str__(self, nome, idade, profissao):
        return (f'{self.nome} | {self.idade} | {self.profissao}')
    
    def faz_aniversario(self):
        self._idade += 1
        return self._idade

    def listar_pessoas():
        for pessoa in Pessoa.pessoas:
            print (f'O nome da pessoa é: {pessoa._nome} | você têm {pessoa._idade} | sua profissão é {pessoa.profissao}')

    @property
    def saudacao(self):
        return (f'Bom dia {self._nome}, a sua profissão é {self._profissao}')
    
pessoa_a = Pessoa ('Elisângela', 24, 'bacharel em Sistemas de Informação')

Pessoa.listar_pessoas()
pessoa_a.faz_aniversario()
Pessoa.listar_pessoas()
1 resposta
solução!

Olá!

Que legal que você compartilhou seu código!

Apenas algumas observações. Seu código tem alguns pontos que podem ser melhorados. Notei que as variáveis de instância _nome, _idade e _profissao estão sendo usadas de forma inconsistente. Além disso, o método __str__ está definido incorretamente e não deve receber parâmetros. O método listar_pessoas deve ser um método de classe, utilizando cls e acessando as variáveis de instância corretamente. Recomendo que você dê uma olhada no gabarito da aula, pois ele contém a versão corrigida e pode te ajudar a entender melhor como fazer esses ajustes. Assim, seu código ficará mais funcional e organizado.

Continue praticando e explorando!

Reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!