def suggest(self, term, distance="levenshtein", threshold=None): """Método para sugerir palabras similares siguiendo la tarea 3. A completar. Args: term (str): término de búsqueda. distance (str): algoritmo de búsqueda a utilizar {"levenshtein", "restricted", "intermediate"}. threshold (int): threshold para limitar la búsqueda puede utilizarse con los algoritmos de distancia mejorada de la tarea 2 o filtrando la salida de las distancias de la tarea 2 """ assert distance in ["levenshtein", "restricted", "intermediate"] results = {} # diccionario termino:distancia if threshold == None: threshold = 2**31 for voc in self.vocabulary: if abs(len(voc) - len(term)) > threshold: d = threshold + 1 elif distance == "levenshtein": d = t2.dp_levenshtein_backwards(term, voc, threshold) elif distance == "restricted": d = t2.dp_restricted_damerau_backwards(term, voc, threshold) else: d = t2.dp_intermediate_damerau_backwards(term, voc, threshold) if d <= threshold: results[voc] = d return results
def test_menor(): assert Tarea2.Func(10, 20) == -1
def test_exito(): assert Tarea2.Func(20, 10) == (10, 30, 200)
def test_literal(): assert Tarea2.Func('A', 20) == -1
def test_exito(): prueba1 = Tarea2.funcion(2, 1) # probar funcion para el caso de exito --> sirve assert prueba1 == (1, 3, 2)
def test_error(): prueba2 = Tarea2.funcion(1, 2) # error debido que el primer valor es menor que es segundo assert prueba2 == -25
def test_exito(): r, s, m = Tarea2.funcion(5, 5) assert r == 0 assert s == 10 assert m == 25
def test_error2(): # verifica el error de tipos y busca un resultado igual a -15 prueba3 = Tarea2.funcion("a", 2) assert prueba3 == -15
def test_errorvalorliteral(): e = Tarea2.funcion('valor', 10) assert e == -1
def test_errorAB(): e = Tarea2.funcion(5, 10) assert e == -1
def test_2(): assert Tarea2.result(1, 2) == -3
def test_1(): assert Tarea2.result(3, 2) == ("Suma:", 5, "Resta:", 1, "Multiplicacion:", 6)
def test_3(): assert Tarea2.result("a", 3) == -1