只是好奇,确定 3 个字符的序列是否为连续的字母顺序的最 Pythonic/最有效的方法是什么?
在似乎可行的快速而肮脏的方式之下,其他更好的实现?
我想另一种方法可能是对序列的副本进行排序并将其与原始序列进行比较。不,这不能解释序列中的间隙。
(这不是家庭作业——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