1
resposta

resolução

class Lista:
    def __init__(self, identificador):
        self.identificador = identificador
        self.lista=[]

    def adicionar(self, identificador):
        self.lista.append(identificador)

    def mostrar(self):
        print('lista de nomes\n')
        for i in self.lista:
            print(i)
ong= Lista('ong esperança')
while True:
    try:
        nome = input('digite o nome do voluntário ou digite (sair) para ecerrar: ')
        if nome == 'sair':
            break
        ong.adicionar(nome)

    except ValueError:
        print('digite novamente')
        continue
ong.mostrar()



1 resposta

Olá, Fabricio!

Mandou bem implementando Orientação a Objetos! Para o código rodar perfeitamente, basta separar a criação do objeto do while e remover o tratamento de erro (já que input aceita qualquer texto).

Fica assim:

ong = Lista('ong esperança') # Quebra de linha necessária aqui

while True:
    nome = input('Digite o nome (ou "sair"): ')
    if nome == 'sair':
        break
    ong.adicionar(nome) 
    # O try/except não é necessário aqui

Conte sempre com a Alura!

Bons estudos!

Sucesso

Imagem da comunidade