Lista e índices: Peça ao usuário que digite 5 nomes e depois imprima cada nome acompanhado do seu índice na lista (use enumerate).

Passo 1

O que o enunciado pede:
  • Peça ao usuário que digite exatamente 5 nomes.
  • Armazene esses nomes em uma lista.
  • Depois imprima cada nome acompanhado do seu índice na lista.
  • Use a função enumerate para obter os índices.
Informações relevantes que o enunciado dá:
  • Número de nomes: 5.
  • Deve-se mostrar o índice de cada nome junto com o próprio nome.
  • Deve-se usar enumerate (em Python) para obter índices e elementos juntos.

Passo 2

Como vamos ler 5 nomes do usuário e guardar numa lista (passo a passo):
  • Em Python, usamos input() para ler uma linha digitada pelo usuário.
  • Para repetir 5 vezes, usamos um laço for com range(5). A função range(5) gera 5 valores: 0,1,2,3,4 — mas aqui só usamos o laço para repetir 5 vezes; não precisamos desses valores para os índices finais.
  • Vamos criar uma lista vazia antes do laço com nomes = [] e, a cada iteração, usar nomes.append(nome) para guardar o nome lido.
    Explicando cada parte:
  • nomes = [] cria uma lista vazia chamada nomes.
  • for i in range(5): repete o bloco interno 5 vezes. A variável i toma valores de 0 a 4, mas usamos i+1 apenas para exibir ao usuário “Digite o nome 1/5”, deixando a interface mais amigável.
  • nome = input(f"Digite o nome {i+1}: ") lê o nome digitado e armazena na variável nome.
  • nomes.append(nome) adiciona o nome ao final da lista nomes.

Passo 3

O que faz enumerate e por que usar:
  • enumerate(iterable, start=1) recebe um iterável (como nossa lista nomes) e retorna pares (índice, elemento) em cada iteração.
  • O parâmetro start define o valor inicial do índice. Se não passar start, o índice começa em 0. Como normalmente queremos índices começando em 1 quando mostramos “1º nome, 2º nome…”, vou usar start=1.
  • Exemplo curto: se nomes = ["Ana", "Bruno"], então
    • enumerate(nomes, start=1) produz (1, "Ana") e depois (2, "Bruno").
  • Usar enumerate evita que tenhamos que controlar um contador manualmente; ele já retorna índice e elemento ao mesmo tempo.

Passo 4

Como formatar a impressão de cada par índice-nome:
  • Para montar a string que aparece na tela podemos usar f-strings: print(f"{indice} - {nome}").
  • Aqui indice e nome são as variáveis que vêm do for indice, nome in enumerate(...).
  • Se preferir outra aparência, dá para usar print(indice, nome) (separados por espaço) ou print(f"{indice}. {nome}"). No exemplo abaixo usarei "{indice} - {nome}" porque fica claro.

Passo 5

Programa completo explicado linha a linha:
  • Primeiro bloco: leitura dos 5 nomes e armazenamento.
    • nomes = [] — cria a lista vazia.
    • for i in range(5): — repete 5 vezes.
    • nome = input(f"Digite o nome {i+1}: ") — pede o nome ao usuário (mostrando 1 a 5).
    • nomes.append(nome) — guarda o nome na lista.
  • Segundo bloco: imprimir cada nome com seu índice usando enumerate.
    • for indice, nome in enumerate(nomes, start=1): — itera sobre a lista retornando índice começando em 1.
    • print(f"{indice} - {nome}") — imprime índice e nome formatados.

Passo 6

Exemplo de execução (simulação):
  • Usuário digita: “Mariana”, “Carlos”, “João”, “Ana”, “Pedro” (em 5 entradas).
  • Saída mostrada:
    • 1 - Mariana
    • 2 - Carlos
    • 3 - João
    • 4 - Ana
    • 5 - Pedro
Isso mostra que o índice corresponde à ordem de inserção na lista.

Passo 7

Erros comuns na prova e dicas rápidas:
  • Esquecer o append e sobrescrever uma variável: lembre-se de usar nomes.append(nome) para acumular os nomes.
  • Usar range(1,6) no laço de leitura pode funcionar, mas então teria que ajustar a mensagem Digite o nome {i}:; prefiro range(5) e mostrar i+1 para ser consistente.
  • Esquecer que enumerate começa em 0 por padrão: se quiser índices a partir de 1, use start=1.
  • Teste mentalmente com menos nomes para garantir lógica (ex.: 2 nomes) — ajuda a achar bugs rapidamente.

Passo 8

Motivação final: você já consegue fazer isso na prova sem medo. É um padrão muito comum: ler com input(), guardar com append, e percorrer com enumerate. Respira, aplica esse passo a passo e manda ver!

Resposta

nomes = []
for i in range(5):
nome = input(f"Digite o nome {i+1}: “)
nomes.append(nome)
for indice, nome in enumerate(nomes, start=1):
print(f”{indice} - {nome}")

Exercícios relacionados