Esta es la solución al Ejercicio #15: El final común más largo.
Ya es costumbre en este bloque de ejercicios (y en la programación en general) que un problema se pueda resolver de varias formas.
A continuación, te muestro algunas de las soluciones más pythónicas al problema planteado.
Solución 1
def final_comun_mayor(txt1, txt2): while not txt1.endswith(txt2): txt2 = txt2[1:] return txt2
Solución 2
def final_comun_mayor(txt1, txt2): if txt1.endswith(txt2) or txt2.endswith(txt1): return min(txt1, txt2, key=len) else: result = '' i = -1 while True: if txt1[i] == txt2[i]: result = txt1[i] + result i -= 1 else: return result