Oii, Estudante!
Obrigada por compartilhar seu código com a comunidade Alura.
Notei que você tá quase lá na lógica da sua lista de convidados! Mas tem um detalhe importante que pode causar um loop infinito no seu programa.
O problema acontece porque, quando a pessoa digita "sair", esse valor ainda é adicionado na lista antes da verificação — e o while continua rodando até receber esse valor, ou seja, o programa nunca sai do laço porque a variável nome só recebe "sair" depois da verificação.
Para resolver, você pode inverter a ordem da verificação, assim:
lista = []
while True:
nome = input("Digite o nome do novo convidado: ").strip().upper()
if nome == 'SAIR':
break
if nome not in lista:
lista.append(nome)
print(f"Convidados confirmados: {lista}")
Assim, você usa while True e quebra o laço apenas quando digitar "sair", garantindo que esse valor não entre na lista e que o programa funcione corretamente.
O método strip().upper() é uma ótima escolha para padronizar a entrada dos nomes, parabéns por ter incluído isso!
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!