我似乎無法找到任何答案,但我有一個程序,我需要寫計算機科學1(初學者友好的答案請)。這些是說明。我如何計算一個字符串中出現的次數?
寫一個程序,將模擬此車計數器。
對於這個程序,會有連續的字符串(分成10行,每行50個字符 ),其中「x」代表顛簸之間的空間,「o」代表「顛簸」一個軸。
小型車輛將具有由任意數量的x圍繞的模式「oo」。
中等車輛將有 由x's包圍的模式「oxo」。
大型車輛將具有「oxoxxooo」模式。
爲了方便起見, 車輛不會被分成不同的數據行。例如,以下表示2臺小 車輛,接着2輛中型車輛,最後一個大的車輛: xooxxxxooxxxxoxoxxxxoxoxxxxxxxoxoxxoooxxxxxxxxxxxx
輸入:有10行數據,每50個字符長。
line1 = 「xooxxxxooxxxxoxoxxxxoxoxxxxxxxoxoxxoooxxxxxxxxxxxx」
line2 = 「ooxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx」
line3 = 「oxoxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx」
line4 = 「oxoxxoooxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx」
line5 = 「xxxoxoxxoooxxxxxxoxoxxoooxxxxxxxxoxoxxoooxxxxxxxxx」
line6 = 「xoxoxxoooxxxxxooxxxooxxooxxooxxxxxooxxxxooxxxxooxx」
line7 = 「oxoxxoxoxxoxoxxoxoxxoxoxxxxxxxoxoxxxxxoxoxxxxxoxox」
line8 = 「xooxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxoo」
line9 = 「xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx」
line10 = 「xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxoxoxxooo」
輸出應該是:
12 small
11 medium
7 large
我在一號線scount += 1
使用count函數試過,如果「xoox」,只是不能似乎找到一個方法來做到這一點。這是我迄今爲止編寫的代碼。
line1 = "xooxxxxooxxxxoxoxxxxoxoxxxxxxxoxoxxoooxxxxxxxxxxxx"
line2 = "oxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
line3 = "oxoxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
line4 = "oxoxxoooxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
line5 = "xxxoxoxxoooxxxxxxoxoxxoooxxxxxxxxoxoxxoooxxxxxxxxx"
line6 = "xoxoxxoooxxxxxooxxxooxxooxxooxxxxxooxxxxooxxxxooxx"
line7 = "oxoxxoxoxxoxoxxoxoxxoxoxxxxxxxoxoxxxxxoxoxxxxxoxox"
line8 = "xooxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxoo"
line9 = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
line10 = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxoxoxxooo"
scount = 0
mcount = 0
lcount = 0
def replace(lst):
scount = lst.count('xoox')
mcount = lst.count('oxo')
lcount = lst.count('oxoxxooo')
replace(line1)
print scount,mcount,lcount
我最終得到所有的0作爲我的答案。所以我的問題是,我如何計算'xoox','oxo'和'oxoxxooo的數量在一個單行字符串中?
「abcabc」。count(「ab」) //輸出>> 2 –
我不打算給作業回答,但只是指導!已經有關於如何解決你的問題的建議!但這不是什麼大不了的事!你必須工作的地方是確保你不會計算任何模式兩次。您可以觀察到中型車的圖案是大型車的子圖案。你必須說明這一點。 – innoSPG