Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

Entendendo o uso do break

def search_book(book_title):
    available_books = ["1984", "Dom Casmurro", "O Pequeno Príncipe", "O Hobbit", "Orgulho e Preconceito"]
    if book_title in available_books:
        return f"Livro encontrado: {book_title}"
    
    for book in available_books:
        if book_title.lower() in book.lower():
            return f"Livro encontrado: {book}"
    
    return f"Livro não encontrado: {book_title}"


book = input("Digite o título do livro que deseja buscar: ")
result = search_book(book)
print(result)
1 resposta
solução!

Oi, Julia!

Está sendo incrível acompanhar sua evolução por aqui! O seu código de busca de livros ficou ótimo, funcional e resolve muito bem o problema de encontrar um título de forma direta ou por uma aproximação de termos, usando o método .lower() para evitar problemas com letras maiúsculas ou minúsculas.

O seu código traz uma dinâmica super interessante. Como você utilizou o comando return logo após encontrar o livro dentro do laço for, o Python interrompe imediatamente a execução de toda a função e sai dela trazendo o resultado.

Na prática, dentro de uma função, o return acaba agindo como um "super break", pois ele não apenas quebra o laço de repetição, mas também encerra a própria função na mesma hora. Se você estivesse fazendo essa busca com uma variável acumuladora fora de uma função, aí sim o break seria indispensável para parar o loop assim que o livro fosse localizado, poupando processamento!

Continue assim e parabéns por toda dedicação! Qualquer dúvida estaremos por aqui.

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