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!