Skip to content

Jhyrachy/CruciCerca

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧩 CruciCerca - Tool per Cruciverba

Un potente strumento Python per creare e risolvere cruciverba utilizzando pattern avanzati e wildcard intelligenti.

✨ Caratteristiche Principali

πŸ” Ricerca Avanzata con Wildcard

  • * = qualsiasi carattere
  • @ = vocale (a, e, i, o, u)
  • # = consonante (tutte le altre lettere)
  • -testo = sottostringa con filtri di lunghezza opzionali

πŸ“š Multi-Dizionario Automatico

  • Caricamento automatico di tutti i file .txt dalla cartella dizionari/
  • Supporto per piΓΉ lingue contemporaneamente
  • Risultati organizzati per dizionario con statistiche

🎨 Interface User-Friendly

  • Output colorato e organizzato con emoji
  • Statistiche dettagliate per ogni ricerca
  • ModalitΓ  ricerca interattiva integrata

πŸš€ Installazione e Setup

Requisiti

  • Python 3.6+
  • Jupyter Notebook
  • Librerie standard: os, glob

Quick Start

  1. Clona o scarica questo repository
  2. Crea la cartella 'dizionari/' e popolala con i tuoi file in formato .txt (vedi sezione Dizionari)
  3. Apri il notebook: ricerca_parole.ipynb
  4. Esegui le celle nell'ordine:
    • Cella 3: Carica funzioni di importazione
    • Cella 5: Carica funzioni di ricerca
    • Cella 8: Carica tutti i dizionari
    • Cella 11: Inizia la ricerca interattiva!

πŸ“– Guida alle Wildcard

πŸ”€ Wildcard Disponibili

Simbolo Significato Esempio Trova
* Qualsiasi carattere c*sa casa, cosa, cura...
@ Vocale (a,e,i,o,u) c@sa casa, cosa (no cura)
# Consonante #@sa casa, masa, pasa...
- Sottostringa -tro metro, altro, contro...

πŸ“ Filtri di Lunghezza (Sottostringhe)

Operatore Significato Esempio Trova
=N Esatta lunghezza -tro=5 metro, altro (5 lettere)
<N Meno di N lettere -mente<8 mente (5), demente (7)
>N PiΓΉ di N lettere -zione>10 informazione, costituzione...

πŸ’‘ Esempi Pratici

Pattern Comuni per Cruciverba

# Parole di 4 lettere: c + qualsiasi + qualsiasi + a
cerca_in_tutti_dizionari(dizionari, 'c**a')

# Parole: consonante + vocale + s + a (casa, masa...)
cerca_in_tutti_dizionari(dizionari, '#@sa')

# Parole di 5 lettere con vocali in 2Βͺ e 4Βͺ posizione
cerca_in_tutti_dizionari(dizionari, '*@*@*')

# Parole che finiscono in "-zione" di qualsiasi lunghezza
cerca_in_tutti_dizionari(dizionari, '***zione')

Ricerca per Sottostringhe

# Tutte le parole che contengono "tro"
cerca_in_tutti_dizionari(dizionari, '-tro')

# Solo parole di 5 lettere che contengono "tro"
cerca_in_tutti_dizionari(dizionari, '-tro=5')

# Parole lunghe (>8 lettere) che contengono "zione"
cerca_in_tutti_dizionari(dizionari, '-zione>8')

# Parole corte (<10 lettere) che contengono "mente"
cerca_in_tutti_dizionari(dizionari, '-mente<10')

Output Esempio

πŸ” Ricerca sottostringa: 'tro' con filtro lunghezza '=5'
============================================================

πŸ“š ITA: 12 risultati
   1. altro
   2. metro
   3. intro
   ...

πŸ“š ENG: 8 risultati
   1. intro
   2. retro
   ...

============================================================
πŸ“Š TOTALE: 20 parole trovate in 2 dizionari

πŸ“ Struttura del Progetto

dizionario/
β”œβ”€β”€ README.md                 # Questa guida
β”œβ”€β”€ ricerca_parole.ipynb     # Notebook principale Jupyter
β”œβ”€β”€ .gitignore               # Esclude file dizionario
└── dizionari/               # ⚠️ AGGIUNGI I TUOI DIZIONARI QUI
    β”œβ”€β”€ italiano.txt         # Una parola per riga
    β”œβ”€β”€ inglese.txt          # Encoding UTF-8
    └── altri_dizionari.txt  # Nomi a piacere

πŸ“š Dizionari

⚠️ Importante: File Dizionario Non Inclusi

I file dizionario non sono inclusi nel repository per rispettare i diritti d'autore. Devi aggiungere i tuoi file!

Come Aggiungere Dizionari

  1. Crea la cartella: mkdir dizionari (se non esiste)
  2. Scarica dizionari da fonti legittime (vedi Fonti Consigliate)
  3. Formato richiesto: File .txt con una parola per riga
  4. Encoding: Salva in UTF-8
  5. Nomi file: Usa nomi descrittivi (es: italiano.txt, inglese.txt)

Fonti Consigliate

Il sistema caricherΓ  automaticamente tutti i file .txt trovati nella cartella dizionari/!

🎯 Casi d'Uso

✏️ Creazione Cruciverba

  • Trova parole che si incastrino perfettamente negli spazi
  • Testa diverse combinazioni di lunghezza
  • Esplora terminazioni comuni (-zione, -mente, -ando)

🧩 Risoluzione Cruciverba

  • Inserisci le lettere note con pattern fissi (c*s*)
  • Usa wildcard per lettere mancanti (#@ro)
  • Cerca sottostringhe per parole parziali (-tro)

πŸ“ Giochi di Parole

  • Trova famiglie di parole (-mente, -zione)
  • Parole con schemi specifici (#@#@#)
  • Sfide linguistiche creative

πŸ”§ Funzioni Principali

carica_tutti_dizionari()

Carica automaticamente tutti i file .txt disponibili dalla cartella dizionari/.

cerca_in_tutti_dizionari(dizionari, pattern)

Cerca un pattern in tutti i dizionari caricati. Supporta sia pattern fissi che sottostringhe.

Parametri opzionali:

  • mostra_tutti=False - Limita l'output
  • max_risultati_per_dizionario=10 - Massimo risultati per dizionario

cerca_parole(dizionario, pattern)

Cerca un pattern in un singolo dizionario specifico.

cerca_sottostringa(dizionario, testo, filtro_lunghezza)

Cerca sottostringhe con filtri di lunghezza opzionali.

🌟 Caratteristiche Avanzate

  • Case Insensitive: Funziona con maiuscole e minuscole
  • Rimozione Duplicati: Elimina automaticamente parole duplicate
  • Gestione Errori: Continua a funzionare anche con file corrotti
  • Statistiche Dettagliate: Contatori e report per ogni ricerca
  • Scalabile: Gestisce facilmente migliaia di parole

πŸ› οΈ Risoluzione Problemi

"Nessun dizionario trovato"

  • βœ… Verifica che i file .txt siano nella cartella dizionari/
  • βœ… Controlla che i file abbiano estensione .txt
  • βœ… Assicurati che ci sia almeno una parola per file

"Encoding error"

  • βœ… Salva i file dizionario in UTF-8
  • βœ… Evita caratteri speciali non standard
  • βœ… Una parola per riga, senza spazi extra

Performance lenta

  • βœ… Usa mostra_tutti=False per limitare l'output
  • βœ… Aggiungi max_risultati_per_dizionario=20
  • βœ… Usa pattern piΓΉ specifici invece di troppe wildcard

πŸ€– AI Disclaimer

Questo progetto Γ¨ stato sviluppato con l'assistenza di AI generativa per:

  • Generazione e ottimizzazione del codice Python
  • Documentazione e guide utente
  • Testing e debugging

Il codice Γ¨ stato verificato manualmente e funziona indipendentemente dall'assistenza AI. Tuttavia, l'autore non si assume la responsabilitΓ  per funzionalitΓ  e manutenzione.

πŸ‘¨β€πŸ’» Contributori

Sviluppato per semplificare la creazione e risoluzione di cruciverba utilizzando Python e Jupyter Notebook.

Buon divertimento con i tuoi cruciverba! 🧩✨

About

Programma per la ricerca di parole mediante wildcars, utilizzabile per la creazione e/o risoluzione di cruciverba

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors