Olá, Apollo. Como vai?
Seu código para registro de voluntários está muito bem estruturado e utiliza conceitos essenciais de manipulação de dados em Python. Você aplicou corretamente a estrutura de repetição while combinada com o método .append(), que é a forma padrão e mais eficiente de alimentar uma lista dinamicamente.
O uso da "sentinela" (a palavra 'sair') é uma excelente prática de Pensamento Computacional, pois dá ao usuário o controle total sobre o fluxo do programa, permitindo encerrar a entrada de dados no momento desejado.
Para refinar ainda mais seu código, deixo algumas observações técnicas:
- Refatoração do
if: No seu código, você verifica se o voluntário digitou 'sair' dentro do while com um if e um break. Como a própria condição do while volutario != 'sair' já faz essa verificação, você poderia simplificar o código removendo o if interno. - Tratamento de Texto: Assim como no desafio da despensa, o uso de
.strip().lower() no final do input() ajudaria a evitar que espaços extras ou letras maiúsculas (como ' Sair' ou 'SAIR') impedissem o encerramento do programa. - A Função
len(): Uma adição legal seria exibir no final não apenas a lista, mas também a quantidade total de voluntários utilizando len(volutarios), o que daria um fechamento mais completo para a campanha.
Aqui está uma versão levemente mais enxuta para comparação:
voluntarios = []
while True:
nome = input('Digite o nome do voluntário (ou "sair" para encerrar): ').strip()
if nome.lower() == 'sair':
break
voluntarios.append(nome)
print(f'Total de {len(voluntarios)} voluntários registrados: {voluntarios}')
Você está demonstrando um ótimo domínio sobre listas e fluxos de controle. Continue com esse foco!
Espero que possa ter lhe ajudado!