Oii, William! Tudo bem?
O uso do comando break é um ponto importante para o controle do fluxo do seu código.
Analisando o seu exemplo, percebi que você aplicou a lógica para interromper a busca assim que o item é localizado. Isso ajuda a economizar processamento, pois o programa para de percorrer a lista desnecessariamente.
Pra deixar o seu código ainda mais claro e evitar confusões caso o livro não esteja na lista, preparei algumas explicações e sugestões:
O papel do break no laço:
Quando o interpretador encontra o comando break, ele sai imediatamente de dentro do for ou while. No seu caso, se o livro for encontrado, a variável livro mantém o valor do item atual e o código segue para a linha do print.
Ajuste de indentação e verificação
Notei que no seu exemplo o print está fora do laço, mas se o usuário digitar um livro que não existe na lista, o Python ainda imprimirá o último livro percorrido (neste caso, "Orgulho e Preconceito").
livros = ["1984", "Dom Casmurro", "O Pequeno Príncipe", "O Hobbit", "Orgulho e Preconceito"]
livro_procurado = input('Digite o livro procurado: ')
encontrado = False
for livro in livros:
if livro == livro_procurado:
encontrado = True
break
if encontrado:
print(f'Livro encontrado: {livro_procurado}')
else:
print('Livro não encontrado na lista.')
O que mudou?
- Variável de controle: Usei uma variável chamada
encontrado para saber se o break foi acionado ou se o laço terminou naturalmente. - Clareza: Agora, o sistema informa corretamente se o livro está ou não disponível, garantindo que o resultado exibido seja verdadeiro.
Continue praticando esses conceitos, pois eles formam a base para algoritmos de busca mais complexos.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!