1
resposta

Entendendo o uso do break

No treinamento Praticando Python: laços for e while, para o exercício Entendendo o uso do break, implementei o código com for percorrendo a lista de livros ao encontrar o nome do livro O Hobbit peguei a posição que ele se apresentou, exibi a mensagem que o livro foi encontrado na posição X, após este momento parei a execução do for.

livros = [  'O Hobbit',
          'Dom Quixote de la Mancha',
          'Orgulho e Preconceito',
          'Metamorfose',
          'Crime e Castigo',
          'O Pequeno Príncipe',
          'O Alienista',
          'O Silêncio dos Inocentes',
          'Assassinato no Expresso do Oriente',
          'As Aventuras de Sherlock Holmes',
          'Não Conte a Ninguém',
          'É Assim que Acaba',
          'É Assim que Começa',
          'A Biblioteca da Meia Noite',
          'Verity',
          'Tudo é Rio',
          'Empregada']

for livro in livros:
    if livro == 'O Hobbit':
        posicao = livros.index('O Hobbit') + 1
        print(f'O Hobbit está na lista, encontra-se na posição: {posicao}')
        break
1 resposta

Olá Gilmar! Como vai?

Notei que você está usando livros.index('O Hobbit') dentro do loop for. Isso funciona, mas pode não ser a forma mais eficiente, pois index() percorre a lista novamente para encontrar a posição do elemento, o que é desnecessário já que você está iterando sobre a lista.

Você pode simplificar o seu código usando a função enumerate(), que permite acessar tanto o índice quanto o valor do elemento durante a iteração. Aqui está uma sugestão de como você poderia implementar isso:

livros = [  'O Hobbit',
          'Dom Quixote de la Mancha',
          'Orgulho e Preconceito',
          'Metamorfose',
          'Crime e Castigo',
          'O Pequeno Príncipe',
          'O Alienista',
          'O Silêncio dos Inocentes',
          'Assassinato no Expresso do Oriente',
          'As Aventuras de Sherlock Holmes',
          'Não Conte a Ninguém',
          'É Assim que Acaba',
          'É Assim que Começa',
          'A Biblioteca da Meia Noite',
          'Verity',
          'Tudo é Rio',
          'Empregada']

for index, livro in enumerate(livros):
    if livro == 'O Hobbit':
        print(f'O Hobbit está na lista, encontra-se na posição: {index + 1}')
        break

Com enumerate(), você obtém o índice index e o valor livro ao mesmo tempo, tornando o código mais eficiente e limpo. Espero que essa dica ajude a melhorar sua implementação!

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.