2017-03-07 36 views
-8

考虑这个数据序列:“3 11 5 5 5 2 4 6 6 7 3 -8”。任何与前一个值相同的值都被认为是一个连续重复。在这个例子中,有三个连续的副本:第二个和第三个5和第二个6.请注意,最后3个不是连续的副本,因为它前面有一个7.编写一些使用循环来读取这样的代码非负整数序列,由负数终止。代码执行完毕后,会打印遇到的连续副本数。在这种情况下,3将被打印。如何使用循环读取连续重复的次数

假定变量stdin的可用性引用与标准输入关联的Scanner对象。

在蟒蛇!我试图用很多不同的方式解决这个问题,但是不能。如何将输入中的第一个和第二个数字放入变量中?

+2

http://www.stackoverflow.com/help/how-to-ask – sasquatch

+0

“编写一些使用...”的代码:这句话让我感到失望。 –

+0

“我试图用很多不同的方式解决这个问题,但不能。”告诉我们一些关于它们的信息,也许我们可以指出你正确的方向。没有人会为你做你的功课。 – Denziloe

回答

0

这大概是一个Java问题(基于提到stdin和Scanner)。

为什么你会在Python中使用循环?

>>> s=list(map(int,"3 11 5 5 5 2 4 6 6 7 3 -8".split())) 
>>> s2=s[0:1]+[n for i,n in enumerate(s[1:]) if n != s[i]] 
>>> s2 
[3, 11, 5, 2, 4, 6, 7, 3, -8] 
>>> len(s)-len(s2) 
3 

针对不同语言的不同解决方案。

如果你确实需要从标准

读取INTS的列表
s=list(map(int,input().split())) 

会做的Python 3