![]() |
Python - Exercício do Facebook: Sistema de cadastro e consulta de imóveis | |
@CanalQb |
Introdução ao exercício de cadastro e consulta de imóveis em Python
Este artigo apresenta um exemplo completo de sistema para cadastro e consulta de imóveis utilizando Python e SQLite. O exercício é baseado em um desafio postado em um grupo do Facebook, cujo link oficial pode ser acessado aqui.
O sistema contempla:
- Criação de banco de dados e tabela para imóveis;
- Função para cadastrar imóveis com diversos atributos;
- Função para listar todos os imóveis cadastrados;
- Exemplos práticos de uso das funções.
Detalhes técnicos do script Python
O script utiliza o módulo sqlite3
, nativo do Python, para gerenciar o banco de dados local imoveis.db
. A tabela imoveis
possui colunas que armazenam informações essenciais como tipo de negociação, status, identificação única, endereço completo, tipo do imóvel, características, preço, condições e observações.
Criação da tabela
CREATE TABLE imoveis (
id INTEGER PRIMARY KEY AUTOINCREMENT,
tipo_negociacao TEXT,
status TEXT,
identificacao TEXT,
endereco TEXT,
tipo_imovel TEXT,
caracteristicas TEXT,
preco TEXT,
condicoes TEXT,
observacoes TEXT
)
A coluna identificacao
é gerada automaticamente combinando o tipo do imóvel com um contador sequencial, garantindo unicidade para cada registro.
Função para cadastrar imóveis
A função cadastrar_imovel
recebe os dados principais e insere um novo registro no banco. Campos opcionais como preço, condições e observações são tratados com valor None
quando não informados.
def cadastrar_imovel(tipo_negociacao, status, endereco, tipo_imovel, caracteristicas, preco=None, condicoes=None, observacoes=None):
identificacao = f"{tipo_imovel}-{len(listar_imoveis())+1:04}"
cursor.execute("""
INSERT INTO imoveis (tipo_negociacao, status, identificacao, endereco, tipo_imovel, caracteristicas, preco, condicoes, observacoes)
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
""", (tipo_negociacao, status, identificacao, endereco, tipo_imovel, caracteristicas, preco, condicoes, observacoes))
conn.commit()
Função para listar imóveis cadastrados
A função listar_imoveis
recupera todos os registros do banco e retorna uma lista de tuplas, cada uma representando um imóvel cadastrado.
def listar_imoveis():
cursor.execute("SELECT * FROM imoveis")
return cursor.fetchall()
Exemplos práticos
Para demonstrar o funcionamento do sistema, o script cadastra dois imóveis com características distintas e em seguida imprime a lista completa de imóveis cadastrados:
cadastrar_imovel(
"Venda",
"Disponível",
"Rua A, 123 - Bairro C - CEP 12345-678 - São Paulo/SP",
"Apartamento",
"3 quartos, 2 banheiros, sala ampla, cozinha planejada"
)
cadastrar_imovel(
"Locação",
"Disponível",
"Rua B, 456 - Bairro D - CEP 98765-432 - Rio de Janeiro/RJ",
"Casa",
"2 quartos, 1 banheiro, garagem para 2 carros",
preco="R$ 1.500,00",
observacoes="Não permite animais"
)
print(listar_imoveis())
Considerações finais
Este exemplo serve como base para sistemas simples de cadastro e consulta, podendo ser expandido para aplicações mais robustas com interfaces gráficas, integração web, ou conexão com bancos de dados mais avançados. A modularidade das funções facilita a manutenção e evolução do projeto.
Para executar o script, certifique-se de ter o Python instalado e permissões adequadas para criar arquivos no diretório de trabalho.
Referências
- Documentação oficial do módulo sqlite3.
- Grupo oficial do exercício no Facebook: https://www.facebook.com/groups/608492105999336.
- Canal do desenvolvedor com tutoriais: @CanalQb.