как проверить, находятся ли 3 символа в последовательном алфавитном порядке

Просто любопытно, какой самый питонический/эффективный способ определить, последовательность из 3 символов в последовательном альфа-порядке?

Ниже приведен быстрый и грязный способ, который, кажется, работает, другие, более приятные реализации?

Я полагаю, что одним из альтернативных подходов может быть сортировка копии последовательность и сравнить ее с оригиналом. Нет, это не учитывается для пробелов в последовательности.

(Это не домашнее задание -слушатели программы NPR Sunday Morning будут знать)

def checkSequence(n1, n2, n3):
    """ check for consecutive sequence of 3 """
    s = ord('a')
    e = ord('z')

#   print n1, n2, n3
    for i in range(s, e+1):
        if ((n1+1) == n2) and ((n2+1) == n3):
           return True

    return False


def compareSlice(letters):
    """ grab 3 letters and sent for comparison """

    letters = letters.lower()
    if checkSequence(ord(letters[0]), ord(letters[1]), ord(letters[2])):
        print '==> seq: %s' % letters
        return True

    return False
6
задан Levon 8 April 2012 в 15:26
поделиться