Lógica de Programação: Algoritmos de Busca e Organização de Dados

O Coração da Programação: Lógica e Estrutura

Programar não é apenas escrever comandos, é resolver problemas de forma eficiente. Um dos maiores desafios de um desenvolvedor é gerenciar volumes de dados. Como encontrar um item em uma lista de milhões? Como garantir que as informações estejam organizadas?

Nesta aula, exploramos como o Python utiliza Listas e Dicionários para estruturar dados e como criar funções de busca inteligente.

🛠️ Projeto Prático: Simulador de Biblioteca

Vamos construir um script que cadastra livros, armazena seus dados em uma estrutura composta e permite realizar buscas por título ou autor.

# --- Simulador de Biblioteca: Aula de Lógica ---

# Estrutura de dados inicial (Lista de Dicionários)
biblioteca = [
    {"titulo": "Aprenda Python em 24h", "autor": "Sams Teach Yourself", "ano": 2014},
    {"titulo": "Web Scraping Profissional", "autor": "Código da Hora", "ano": 2026},
    {"titulo": "Lógica de Programação", "autor": "Alan Turing", "ano": 1940}
]

def buscar_livro(termo):
    print(f"\\n🔍 Iniciando busca por: '{termo}'...")
    resultados = []
    
    # Lógica de Busca Iterativa
    for livro in biblioteca:
        if termo.lower() in livro["titulo"].lower() or termo.lower() in livro["autor"].lower():
            resultados.append(livro)
            
    return resultados

def exibir_resultados(lista):
    if not lista:
        print("❌ Nenhum livro encontrado.")
    else:
        print(f"✅ Sucesso! Encontramos {len(lista)} livro(s):")
        for item in lista:
            print(f"- {item['titulo']} ({item['autor']}), {item['ano']}")

if __name__ == "__main__":
    exibir_resultados(buscar_livro("Python"))
    exibir_resultados(buscar_livro("Código"))

Análise Técnica

Utilizamos .lower() para uma busca Case-Insensitive. A estrutura de Lista de Dicionários simula como bancos de dados modernos organizam informações, permitindo que cada item tenha múltiplas propriedades acessíveis por chaves.

Equipe Código da Hora

Equipe de desenvolvedores que produz e testa cada tutorial em ambiente real. Conheça o projeto ou fale conosco.