def main(): """Cargar archivos, ejecutar filtros, permitir al usuario ver los anagramas por su primera letra.""" name = 'tmvoordle' name = name.lower() word_list_ini = load_diccionary.load('3of6game.txt') trigrams_filtered = load_diccionary.load('least-likely_trigrams.txt') word_list = prep_words(name, word_list_ini) filtered_cv_map = cv_map_words(word_list) filter_1 = cv_map_filter(name, filtered_cv_map) filter_2 = trigram_filter(filter_1, trigrams_filtered) filter_3 = letter_pair_filter(filter_2) view_by_letter(name, filter_3)
"""Encontrar palindromos en una lista. Uso de metodo recursivo""" import load_diccionary import time word_list = load_diccionary.load('3of6game.txt') pali_list = [] def recursive(word): if len(word) <= 1: return True else: if word[0] != word[len(word) - 1]: return False else: word = word[1:-1] return recursive(word) start_time = time.time() for word in word_list: if recursive(word): pali_list.append(word) end_time = time.time() print("\nNumero de palindromos encontrados = {}\n".format(len(pali_list))) print(*pali_list, sep='\n') print("Runtime del programa: {} segundos.".format(end_time - start_time))
"""Crear un anagrama con el nombre y otras palabras elegidas por el usuario""" import sys from collections import Counter import load_diccionary dict_file = load_diccionary.load('3of6game.txt') ini_name = input("Introduce un nombre: ") def find_anagrams(name, word_list): """Lee el nombre y diccionario y muestra todos los anagramas EN el nombre""" name_letter_map = Counter(name) anagrams = [] for word in word_list: test = '' word_letter_map = Counter(word) for letter in word: if word_letter_map[letter] <= name_letter_map[letter]: test += letter if Counter(test) == word_letter_map: anagrams.append(word) print(*anagrams, sep='\n') print() print("Letras restantes = {}".format(name)) print("Numero de letras restantes = {}".format(len(name))) print("Numero de anagramas (palabras reales) restantes = {}".format( len(anagrams)))