import difflib

s1 = "1234asdffooMOO"
s2 = "asdfbarMOOwhatever"

# s1 = "asdffoo"
# s2 = "asdffooMOO"

def onestepchange(start, dest):

    ret = ""

    for i, s in enumerate(difflib.ndiff(start, dest)):
        # print(i)
        # print(s)

        if s[0] == '-':
            return ret + start[i+1:]

        if s[1] == '+':
            return ret + s[-1] + start[i:]

        ret = ret + s[-1]

        if len(ret) > len(start):
            return ret

        if ret[i] != start[i]:
            return ret + start[i:]

    return ret


n = s1
while n != s2:
    print(n)
    n = onestepchange(n, s2)

print(n)

# for i, s in enumerate(difflib.ndiff(s1, s2)):
#     print(i)
#     print(s)

