Este blog é um complemento do nosso canal no YouTube. Clique em @CanalQb para seguir e acompanhar nossos vídeos!

Sugestões de pesquisas

Python: Gerando e Salvando Strings Aleatórias com Restrições

#python; #programação; #bancodeDados
@CanalQb Python - Gerando Strings Aleatórias com Restrições
@CanalQb

Como Gerar Strings Aleatórias com Restrições Usando Python

Gerar strings aleatórias é uma tarefa comum em diversas aplicações, desde testes de software até criação de senhas e tokens únicos. Neste exemplo, vamos criar um script Python que gera 1000 strings de 10 caracteres cada, com a restrição de que nenhum caractere apareça mais que 3 vezes por string. Além disso, as strings serão armazenadas em um banco de dados SQLite para uso futuro.

Detalhes do Script

O script utiliza a biblioteca padrão random para geração dos caracteres e sqlite3 para manipulação do banco de dados local. O alfabeto definido exclui caracteres facilmente confundíveis, como 'l', 'o', '1' e '0', aumentando a legibilidade das strings geradas.

Código Completo do Script

import random
import sqlite3

# Alfabeto definido para gerar as strings
alfabeto = "abcdefghijkmnpqrstuvwxyz23456789"

# Conecta com o banco de dados SQLite (ou cria se não existir)
conn = sqlite3.connect('strings.db')
cursor = conn.cursor()

# Cria a tabela caso não exista
cursor.execute('''
CREATE TABLE IF NOT EXISTS strings (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    string TEXT
)
''')

# Gera 1000 strings aleatórias de 10 caracteres cada
for _ in range(1000):
    string_aleatoria = ''
    while len(string_aleatoria) < 10:
        caractere = random.choice(alfabeto)
        # Verifica se o caractere já apareceu 3 vezes na string
        if string_aleatoria.count(caractere) < 3:
            string_aleatoria += caractere
    
    # Insere a string no banco de dados com prefixo fixo para identificação
    cursor.execute('INSERT INTO strings (string) VALUES (?)', ('aaab54n' + string_aleatoria,))

# Salva as mudanças e fecha a conexão
conn.commit()
conn.close()

Explicação passo a passo

  • Alfabeto: Define os caracteres permitidos para a geração das strings.
  • Banco de dados: Cria uma tabela chamada strings com um ID automático e o texto da string.
  • Laço de geração: Para cada string, o programa adiciona caracteres aleatórios até que a string tenha 10 caracteres, respeitando a regra de máximo 3 repetições por caractere.
  • Prefixo fixo: Cada string armazenada recebe um prefixo fixo "aaab54n", que pode ser ajustado conforme a necessidade do projeto.
  • Persistência: Os dados são salvos no banco SQLite para uso posterior.

Considerações Finais

Este método é útil para gerar identificadores únicos e controlados, por exemplo, para sistemas de autenticação, tokens de sessão ou códigos promocionais. Adaptar o alfabeto e o tamanho da string permite personalizar o script para diferentes necessidades.

Para mais tutoriais e exemplos, visite o canal oficial do YouTube: @CanalQb.

Postar um comentário

Comente só assim vamos crescer juntos!
CanalQb mais próximo Quer falar com o CanalQb?
Em que posso te ajudar?
Fale comigo