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!

1
resposta

[Sugestão] Faça como eu fiz: organizando uma lista de convidados

convidados = set

while true:
    nome = input('Digite o nome do convidado ou "Sair" para encerrar:')
    if nome.lower() == "sair":
        break
    convidados.add(nome)
    print(f'Convidados confirmados: {', '.join(convidados)}')
1 resposta

Oi, Apollo. Tudo bem com você?

A ideia de utilizar um set para evitar convidados repetidos faz bastante sentido dentro da proposta do exercício, já que essa estrutura elimina duplicidades de forma automática. Também foi uma boa escolha utilizar lower() para comparar a palavra de encerramento, permitindo que o usuário digite "Sair", "SAIR" ou outras variações.

Há apenas alguns pontos no código que impediriam sua execução. Para criar um conjunto vazio, é necessário utilizar set(), e não apenas set. Além disso, o correto é escrever while True: com a primeira letra de True em maiúsculo. Outro detalhe é que a exibição da lista de convidados foi colocada dentro do laço. Como a atividade pede o resultado ao final da entrada de dados, esse print ficaria mais adequado após o break. Também há um pequeno ajuste na f-string utilizada com join, pois a forma como as aspas foram escritas gera erro de sintaxe. Como a expressão ', '.join(convidados) utiliza aspas simples, elas entram em conflito com as aspas da própria f-string. Uma forma de corrigir isso é utilizar aspas duplas na f-string.

Você já pensou em ordenar os nomes alfabeticamente antes de exibi-los para deixar o resultado ainda mais organizado?

Parabéns por praticar e compartilhar sua solução. O fórum continua à disposição para acompanhar sua evolução.

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