Ejemplo n.º 1
0
def _main():
    print sum_multiples(10)
    print sum_multiples(1000)
    print fib_recur(8)
    print fib_iter(50)
    print deriv(lambda x: 2 * (x ** 3), 5)
    print matrix_mult([[1,2,3],[4,5,6]], [[7,8],[9,10],[11,12]])
    print matrix_mult([[2,4,1],[8,9,10],[1,3,2]], [[7,9,1],[3,3,2],[10,11,12]])

    # 5.
    from levenshtein import Levenshtein

    lev1 = Levenshtein("Jack is a very nice boy, isn't he?", "jack is a very nice boy is he")
    print lev1.distance()
from levenshtein import Levenshtein

assert(Levenshtein.distance("", "abc") == 3)
assert(Levenshtein.distance("abc", "") == 3)
assert(Levenshtein.distance("", "") == 0)
assert(Levenshtein.distance("abc", "abc") == 0)
assert(Levenshtein.distance("abcdef", "xxxxxx") == 6)
assert(Levenshtein.distance("xxxxxx", "abcdef") == 6)
assert(Levenshtein.distance("abcdef", "abefcd") == 4)
assert(Levenshtein.distance("abefcd", "abcdef") == 4)
assert(Levenshtein.distance("acdefg", "abcdef") == 2)
assert(Levenshtein.distance("abcdef", "acdefg") == 2)

assert(Levenshtein.normalized_distance("abcdef", "abc") == 0.5)
assert(Levenshtein.normalized_distance("abcdef", "") == 1)
assert(Levenshtein.normalized_distance("a", "b") == 1)
assert(Levenshtein.normalized_distance("a", "") == 1)
assert(Levenshtein.normalized_distance("a", "a") == 0)
assert(Levenshtein.normalized_distance("abcd", "c") == 0.75)
assert(Levenshtein.normalized_distance("abcd", "bd") == 0.5)
assert(Levenshtein.normalized_distance("abcd", "db") == 0.75)

print("Success")
from levenshtein import Levenshtein
# A more through general test is found in levenshteintests.py
# This test is only to show that word based distance works the same way as character based distance

assert (Levenshtein.distance(["hi", "there"], ["hi"]) == 1)
assert (Levenshtein.distance(["hi", "there"], ["there", "hi"]) == 2)
assert (Levenshtein.distance(["hi", "there"], []) == 2)
assert (Levenshtein.distance(["aaa", "bbbb", "cccc"],
                             ["aaa", "fff", "cccc"]) == 1)
assert (Levenshtein.distance([], []) == 0)

print("Success")
from levenshtein import Levenshtein

assert (Levenshtein.distance("", "abc") == 3)
assert (Levenshtein.distance("abc", "") == 3)
assert (Levenshtein.distance("", "") == 0)
assert (Levenshtein.distance("abc", "abc") == 0)
assert (Levenshtein.distance("abcdef", "xxxxxx") == 6)
assert (Levenshtein.distance("xxxxxx", "abcdef") == 6)
assert (Levenshtein.distance("abcdef", "abefcd") == 4)
assert (Levenshtein.distance("abefcd", "abcdef") == 4)
assert (Levenshtein.distance("acdefg", "abcdef") == 2)
assert (Levenshtein.distance("abcdef", "acdefg") == 2)

assert (Levenshtein.normalized_distance("abcdef", "abc") == 0.5)
assert (Levenshtein.normalized_distance("abcdef", "") == 1)
assert (Levenshtein.normalized_distance("a", "b") == 1)
assert (Levenshtein.normalized_distance("a", "") == 1)
assert (Levenshtein.normalized_distance("a", "a") == 0)
assert (Levenshtein.normalized_distance("abcd", "c") == 0.75)
assert (Levenshtein.normalized_distance("abcd", "bd") == 0.5)
assert (Levenshtein.normalized_distance("abcd", "db") == 0.75)

print("Success")
from levenshtein import Levenshtein
# A more through general test is found in levenshteintests.py
# This test is only to show that word based distance works the same way as character based distance

assert(Levenshtein.distance(["hi", "there"], ["hi"]) == 1)
assert(Levenshtein.distance(["hi", "there"], ["there", "hi"]) == 2)
assert(Levenshtein.distance(["hi", "there"], []) == 2)
assert(Levenshtein.distance(["aaa", "bbbb", "cccc"], ["aaa", "fff", "cccc"]) == 1)
assert(Levenshtein.distance([], []) == 0)

print("Success")