Просто любопытно, какой самый питонический/эффективный способ определить, последовательность из 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