Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

Faça como eu fiz: organizando uma lista de convidados

lista_convidados = []
while True:
  nomes_convidados = input("Digite o nome do convidado: ")
  if nomes_convidados.lower() !="sair":
    lista_convidados.append((nomes_convidados).title())
    lista_organizada = sorted(list(set(lista_convidados)))
  else:
    break
print(f"Convidados confirmados: {", ".join(lista_organizada)}")
Digite o nome do convidado: ana
Digite o nome do convidado: joão
Digite o nome do convidado: ana
Digite o nome do convidado: carla
Digite o nome do convidado: sair
Convidados confirmados: Ana, Carla, João
1 resposta
solução!

Oi, Carlos. Tudo certo?

Sua solução para organizar a lista de convidados sem repetições demonstra bom uso de estruturas de dados em Python. O programa utiliza corretamente o conjunto para eliminar duplicatas e o método sorted para ordenar alfabeticamente os nomes, além de aplicar .title() para padronizar a formatação dos inputs. O uso de join para exibir os convidados está apropriado e gera a saída esperada.

Contudo, há uma inconsistência que pode gerar um erro durante a execução. A variável lista_organizada é definida apenas dentro do bloco condicional quando o usuário não digita "sair". Se alguém executar o programa e digitar "sair" na primeira tentativa, a variável não existirá quando o código chegar ao print, causando um NameError.

Como você poderia refatorar o código para evitar esse problema mantendo a mesma funcionalidade?

Agradecemos por compartilhar essa solução. O fórum está à disposição para complementarmos essa discussão.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!