1
resposta

[Projeto] resolução da atividade " Reorganizando uma lista de convidados"

gostaria de saber se usei o while da maneira correta, sempre no looping de nomes e adicionando a uma posição

convidados = ['ana', 'pedro', 'carlos']
print(f'lista atual de convidados: {convidados}')

while True:
    novo_convidado = input('Digite o nome do novo convidado (ou "sair" para encerrar): ')
    
    if novo_convidado.lower() == 'sair':
        break

    posicao = int(input('Digite a posição na qual deseja inserir o convidado: '))
    convidados.insert(posicao - 1, novo_convidado)

    print(f'Lista atualizada de convidados: {convidados}')
1 resposta

Oi, Mateus!

Você mandou muito bem ao ir além do que foi pedido no enunciado e implementar a repetição na sua solução.

Respondendo à sua dúvida: sim, a estrutura do while está correta. Utilizar o while True para manter o programa rodando e o comando break para encerrar o ciclo quando o usuário digita "sair" é uma forma muito eficiente de criar menus interativos.

Alguns pontos positivos que notei no seu código:

  • Interatividade: O usuário consegue adicionar quantos convidados quiser sem precisar reiniciar o programa.
  • Flexibilidade: O uso do método .lower() na verificação da saída é excelente, pois funciona mesmo se o usuário digitar "Sair" ou "SAIR".
  • Lógica de índice: A conta posicao - 1 dentro do laço garante que o índice seja calculado corretamente para cada nova inserção.

Uma dica para seus próximos estudos:
Como você está convertendo a entrada da posição diretamente para um número inteiro com int(), se o usuário digitar uma letra por engano, o programa irá parar com um erro. Futuramente, vale a pena pesquisar sobre tratamento de exceções (usando try e except) para lidar com essas situações sem que o programa "quebre".

Continue com essa curiosidade de testar e expandir os exercícios!

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