检查列表的哪一部分是连续的(不使用排序)



我想了解如何在列表中找到连续的数字。这是我迄今为止写的代码:

v = []
while True:
n = int(input("Insert a number (0 for exit) -> "))
if n == 0: break
v.append(n)
for i in range(len(v)):
if v[i] - 1 == v[i - 1]:
print(v[i - 1])

但是这个代码没有打印v[i]的最后一个数字,有人能帮我吗?

我不知道我是否答对了你的问题,但一个简单的解决方案可以是:

first = True
for i in range(1, len(v)):
if v[i]-1 == v[i-1]:
if first:
first = False
print("-")
print(v[i-1])
print(v[i])
else:
first = True

因此,对于像这样的输入

[4, 3, 6, 2, 7, 1, 2, 3, 4, 6, 5, 6, 8, 7]

你得到:

-
1
2
3
4
-
5
6

只需写入:

for i in range(1, len(v)):
if (v[i] - 1) == v[i - 1]:
print(v[i]) 

相关内容

  • 没有找到相关文章

最新更新