python中的以下問題請......假設s是一串小寫字符。我如何找到s中的字符串y的數量
假設s是一串小寫字符。
我該如何編寫一個程序來打印s
中字符串'bob'
出現的次數。例如,如果s = 'azcbobobegghakl'
,然後我的程序將打印
「次鮑勃的數量,則出現的是:2」
我是一個完全新的蟒蛇,並感謝所有幫助
python中的以下問題請......假設s是一串小寫字符。我如何找到s中的字符串y的數量
假設s是一串小寫字符。
我該如何編寫一個程序來打印s
中字符串'bob'
出現的次數。例如,如果s = 'azcbobobegghakl'
,然後我的程序將打印
「次鮑勃的數量,則出現的是:2」
我是一個完全新的蟒蛇,並感謝所有幫助
如果您不想算重疊bob
S作爲單獨的值,這將是很容易:
s.count('bob')
但你顯然做的。 (我不得不猜測,根據你預期的輸出是2而不是1 ...的事實,最好解釋你的問題,而不是讓它模棱兩可。)幫助說,count
返回「數字非重疊發生子串sub
...「,這樣做不會有任何好處。因此,你將不得不手動完成它。我會告訴你開始應該有足以讓一個例子:
for i in range(len(s)):
if s[i:].startswith('bob'):
print('Found a bob')
稍微更聰明的方式來做到這將是使用find
方法對字符串。您可以在交互式控制檯中的online docs或通過輸入help(str.find)
找到詳細信息。請注意,find
需要一個start
參數。你應該能夠弄清楚這將如何幫助你;可能需要一些工作才能正確地獲得詳細信息,但是如果您遇到問題,可以隨時發佈一個新問題,以尋求具體幫助。
...或使用'len(re.findall(「(?=(bob))」,'azcbobobegghakl'))' –
你可以試試這個方法
string = "BOBOBOBOBOABCDE"
search = "BOB"
print len([i for i in range(len(string)) if string.startswith(search, i)])
如果你要這樣,我會使用'sum(1 for ...)) ',以避免建立過濾列表只是爲了保持其長度。但無論哪種方式,OP能夠理解這些代碼並向他的老師解釋它的機率看起來很渺茫......這使得它成爲一種很好的方式來捕獲複製和粘貼答案的學生,我想不會。或者,更有用的是,也許邀請學生提出一些有用的問題。 – abarnert
難道只是我,或者它看起來像有人要我們做功課? –
歡迎來到StackOverflow!看起來你希望我們爲你寫一些代碼。儘管許多用戶願意爲遇險的編碼人員編寫代碼,但他們通常只在海報已嘗試自行解決問題時才提供幫助。證明這一努力的一個好方法是包含迄今爲止編寫的代碼,示例輸入(如果有的話),期望的輸出和實際獲得的輸出(控制檯輸出,堆棧跟蹤,編譯器錯誤 - 無論是適用)。您提供的細節越多,您可能會收到的答案就越多。 –