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

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

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

因此,如果输入是start = 10 end = 150,则输出将为[12, 23, 34, 45, 56, 67, 78, 89, 123]

要解决此问题,我们将遵循以下步骤 –

  • s:全9位数字作为字符串“123456789”
  • a:新列表
  • 对于i在range 0到8中,执行
    • 对于j在i + 1到9中, 执行
      • x:字符串s从索引i到j-1的子字符串作为数字
      • 如果 start <= x <= end,则
      • 将x插入a
  • 对列表a进行排序并返回

示例

让我们看一下下面的实现以更好地理解 –

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]

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程