在 Python 中查找开始结束范围内所有连续增加的数字的程序

假设我们有两个数字 start 和 end,我们必须找到一个排序的整数列表,使得 [start, end] 范围内的每个数字 e 都包括在内并且 e 的数字连续增加。一个不断增加的数字的例子是 5678,但 169 不是。

因此,如果输入类似于 start = 10 end = 150,那么输出将是 [12, 23, 34, 45, 56, 67, 78, 89, 123]

示例

让我们看看以下实现以获得更好的理解 -

def solve(start, end):
   s = "123456789"
   a = []
   for i in range(9):
      for j in range(i + 1, 10):
         x = int(s[i:j])
         if start <= x <= end:
            a += (x,)
   return sorted(a)

start = 10
end = 150
print(solve(start, end))

输入

10, 150
输出结果
[12, 23, 34, 45, 56, 67, 78, 89, 123]

猜你喜欢