alphabet = 'abcdefghijklmnopqrstuvwxyz'

def enbase(x):
    n = len(alphabet)
if x < n:
    return alphabet[x]
return enbase(x / n) + alphabet[x % n]

def debase(x):
    n = len(alphabet)
result = 0
for i, c in enumerate(reversed(x)):
    result += alphabet.index(c) * n ** i
return result

def average(a, b):
    a = debase(a)
b = debase(b)
return enbase((a + b) / 2)
print(average('a', 'z'))
print(average('aa', 'zz'))
print(average('cat', 'doggie'))
print(average('google', 'microsoft'))
print(average('microsoft', 'google'))
Среднее значение двух строк в алфавитном/лексикографическом порядке