예제 #1
0
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)
예제 #2
0
"""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)))