Oii, João! Como vai?
Mandou muito bem na resolução! Gostei bastante que você foi além do enunciado e implementou uma verificação (if nome in convidados) para avisar o usuário que o nome já foi adicionado. Isso melhora muito a experiência de quem usa o programa!
Tenho apenas dois pontos de atenção para deixar seu código perfeito:
1. Aspas dentro da f-string (erro de sintaxe)
Na última linha, você usou aspas simples (') para fechar a f-string e também aspas simples dentro do método .join(). Isso confunde o Python, pois ele acha que a string terminou antes do tempo.
- Onde está:
f'Convidados confirmados: {', '.join(convidados)}' - Correção: Alterne entre aspas simples e duplas.
2. Formatação dos nomes
Você usou .lower() na entrada. Isso é ótimo para garantir que "Ana" e "ana" sejam considerados a mesma pessoa. Porém, na hora de imprimir, os nomes sairão todos minúsculos (ex: "ana, joão"). Para nomes próprios, o ideal é usar .title() (que deixa a primeira letra maiúscula) ou .strip() (apenas para limpar espaços), mantendo a formatação bonita
Uma sugestão de como ajustar esses detalhes:
convidados = set()
while True:
# Usando .title() para salvar como "Ana" em vez de "ana"
nome = input("Digite o nome do convidado: ").title()
if nome == 'Sair': # Lembrar de checar com a primeira maiúscula também
break
if nome in convidados:
print('Esse nome já foi adicionado')
else:
convidados.add(nome)
# Note o uso de aspas duplas fora e simples dentro (ou vice-versa)
print(f"Convidados confirmados: {', '.join(convidados)}")
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!