Como Gerar Intervalos Numéricos em Python com Exportação para CSV
Sempre crie uma frase de segurança única para jogos, testnets ou airdrops e evite usar sua carteira principal.
Gerando Intervalos Numéricos em Python com Exportação para CSV
Este artigo apresenta um exemplo prático de como gerar intervalos numéricos em Python utilizando valores hexadecimais. O script também exporta os dados para um arquivo .csv, o que pode ser útil em análises de dados ou desenvolvimento de sistemas que operam com intervalos grandes de números.
Objetivo do Script
O objetivo é dividir um intervalo hexadecimal muito grande, entre 0x40000000000000000 e 0x7ffffffffffffffff, em subintervalos proporcionais a um percentual informado. Cada subintervalo é impresso no console e gravado em um arquivo .csv.
Pré-requisitos
- Python 3 instalado
- Conhecimentos básicos em manipulação de arquivos com Python
- Noções de conversão entre base hexadecimal e decimal
Explicação do Código
O código realiza as seguintes etapas:
- Converte os limites hexadecimais em inteiros.
- Divide o intervalo total em partes menores, com base em um percentual fornecido.
- Imprime os intervalos formatados e os escreve em um arquivo CSV.
Script Python Completo
import gc
import csv
# Função geradora para calcular e imprimir os intervalos
def gerar_tabela(valor_inicial, valor_final, percentual, writer):
num_divisoes = int(100 / percentual)
intervalo_tamanho = (valor_final - valor_inicial) // num_divisoes
contador = 0
for i in range(num_divisoes):
inicio_intervalo = valor_inicial + i * intervalo_tamanho
fim_intervalo = valor_inicial + (i + 1) * intervalo_tamanho
if i == num_divisoes - 1:
fim_intervalo = valor_final
total = fim_intervalo - inicio_intervalo + 1
print(f"Intervalo {i + 1:,.0f} de {num_divisoes:,.0f}: {hex(inicio_intervalo)} até {hex(fim_intervalo)} (inclusive) é: {total:,.0f}")
writer.writerow([hex(inicio_intervalo), hex(fim_intervalo)])
contador += 1
if contador % 1000 == 0:
print(f"{contador} intervalos processados. Coletando lixo...")
gc.collect()
hex_inicial = '40000000000000000'
hex_final = '7ffffffffffffffff'
valor_inicial = int(hex_inicial, 16)
valor_final = int(hex_final, 16)
percentual = float("0.0000001")
if percentual <= 0 or percentual > 100:
print("Por favor, insira um percentual maior que 0 e menor ou igual a 100%.")
else:
nome_arquivo_csv = 'intervalos.csv'
with open(nome_arquivo_csv, mode='w', newline='') as arquivo_csv:
writer = csv.writer(arquivo_csv)
writer.writerow(['inicio', 'fim'])
gerar_tabela(valor_inicial, valor_final, percentual, writer)
print(f"Intervalos salvos em {nome_arquivo_csv}.")
Exemplo de Saída
Abaixo está um exemplo de como a saída será exibida no console:
Intervalo 1 de 1,000,000: 0x40000000000000000 até 0x4000000000027107f (inclusive) é: 10,000
Intervalo 2 de 1,000,000: 0x40000000000271080 até 0x400000000004e20ff (inclusive) é: 10,000
...
Exportação para CSV
Todos os intervalos gerados são armazenados no arquivo intervalos.csv, contendo duas colunas: início e fim de cada subintervalo. Isso facilita a análise posterior com ferramentas como Excel, LibreOffice Calc, ou Google Sheets.
Considerações Finais
Este tipo de abordagem é útil em projetos que requerem manipulação de grandes volumes numéricos, como algoritmos de hashing, blockchain ou verificação de endereços em redes.
Para maiores informações sobre manipulação de arquivos em Python, acesse a documentação oficial em: https://docs.python.org/3/library/csv.html
Este conteúdo é educativo e não envolve investimentos financeiros. Sempre analise bem qualquer ferramenta ou script antes de utilizar em ambientes críticos.
Créditos: Desenvolvido por Python Software Foundation.

Comentários
Comente só assim vamos crescer juntos!