def levenshtein(s, t):
'''<STR_LIT>'''<EOL>if s == t:<EOL><INDENT>return <NUM_LIT:0><EOL><DEDENT>elif len(s) == <NUM_LIT:0>:<EOL><INDENT>return len(t)<EOL><DEDENT>elif len(t) == <NUM_LIT:0>:<EOL><INDENT>return len(s)<EOL><DEDENT>v0 = [None] * (len(t) + <NUM_LIT:1>)<EOL>v1 = [None] * (len(t) + <NUM_LIT:1>)<EOL>for i in range(len(v0)):<EOL><INDENT>v0[i] = i<EOL><DEDENT>for i in range(len(s)):<EOL><INDENT>v1[<NUM_LIT:0>] = i + <NUM_LIT:1><EOL>for j in range(len(t)):<EOL><INDENT>cost = <NUM_LIT:0> if s[i] == t[j] else <NUM_LIT:1><EOL>v1[j + <NUM_LIT:1>] = min(v1[j] + <NUM_LIT:1>, v0[j + <NUM_LIT:1>] + <NUM_LIT:1>, v0[j] + cost)<EOL><DEDENT>for j in range(len(v0)):<EOL><INDENT>v0[j] = v1[j]<EOL><DEDENT><DEDENT>return v1[len(t)]<EOL>
Compute the Levenshtein distance between 2 strings, which
    is the minimum number of operations required to perform on a string to
    get another one.

    code taken from https://en.wikibooks.org

    :param basestring s:
    :param basestring t:
    :rtype: int