2017-03-07 38 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