不思議なことに、3文字のシーケンスが連続したアルファ順であるかどうかを判断するための最もPython的で効率的な方法は何ですか?
うまくいくように見える迅速で汚い方法の下で、他のより良い実装?
別のアプローチの1つは、シーケンスのコピーを並べ替えて、元のシーケンスと比較することだと思います。いいえ、それはシーケンスのギャップを説明しません。
(これは宿題ではありません-NPRサンデーモーニングプログラムのリスナーは知っているでしょう)
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