Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Corrigindo posições na lista de uma corrida de atletismo

O clube de atletismo Alura Runners organizou uma corrida e divulgou a lista com a classificação final dos participantes. Mas, um erro foi identificado: um dos nomes está incorreto. O organizador precisa de um programa que permita localizar o nome errado e substituí-lo pelo correto.

Como você escreveria um programa que solicite o nome errado, o nome correto e atualize a lista exibindo a nova classificação ao final?

Exemplo de Entrada:

Digite o nome incorreto: Carlos
Digite o nome correto: João

Saída esperada:

O nome Carlos foi substituído por João.
Lista atualizada: ['Ana', 'João', 'Pedro']
lista_de_nomes = ['Ana', 'Carlos', 'Pedro']

nome_incorreto = input('Digite o nome incorreto: ').title()
nome_correto = input('Digite o nome correto: ').title()
for i, nome in enumerate(lista_de_nomes):
  if nome == nome_incorreto:
    lista_de_nomes[i] = nome_correto
    print(f'O nome {nome_incorreto} foi substituído por {nome_correto}.')
    print(f'Lista Atualizada: {lista_de_nomes}')
    

Digite o nome incorreto: Carlos
Digite o nome correto: João
O nome Carlos foi substituído por João.
Lista Atualizada: ['Ana', 'João', 'Pedro']
1 resposta
solução!

Olá, Carlos! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de laços de repetição para localizar e substituir nomes em uma lista com Python, utilizou muito bem o enumerate para acessar índices e ainda compreendeu a importância de atualizar corretamente os elementos para manter a classificação.

Uma dica interessante para o futuro é aplicar o método index para localizar a posição do nome incorreto. Assim:

lista_de_nomes = ['Ana', 'Carlos', 'Pedro']

nome_incorreto = input('Digite o nome incorreto: ').title()
nome_correto = input('Digite o nome correto: ').title()

if nome_incorreto in lista_de_nomes:
    posicao = lista_de_nomes.index(nome_incorreto)
    lista_de_nomes[posicao] = nome_correto
    print(f'O nome {nome_incorreto} foi substituído por {nome_correto}.')
    print(f'Lista atualizada: {lista_de_nomes}')
else:
    print(f'O nome {nome_incorreto} não foi encontrado na lista.')

Isso faz com que a substituição seja realizada de forma direta e ainda permite tratar o caso em que o nome não está presente na lista.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

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