我正在使用Python 2.7并想知道有没有办法检查给定字符串是否包含至少4个连续数字上升或下降?
我能想到的唯一方法是检查每个字符及其后面的3个字符,看它们是否为数字,然后查看每个字符之间的差异是否为1。
还有其他办法吗?
提前谢谢!
答案 0 :(得分:1)
def has_sequence(s):
"""Returns sequence if found, empty list otherwise."""
pos = 0
stack = []
while pos != len(s):
try:
val = int(s[pos])
except ValueError:
pos += 1
stack = []
continue
if not stack:
stack.append(val)
elif stack[-1] + 1 == val:
stack.append(val)
if len(stack) == 4:
return stack
else:
stack = []
pos += 1
return []