亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何計算Python中字符串中子字符串出現的次數?

如何計算Python中字符串中子字符串出現的次數?

夢里花落0921 2023-12-05 15:01:19
我正在嘗試編寫一個代碼片段,請求用戶輸入一個 strings然后輸入一個 substring ss。ss然后程序必須計算in出現的次數s。例如,如果用戶輸入s = ‘azcbobobegghakl’and ss = ‘bob’,則程序應打?。?Number of times bob comes is: 2。到目前為止,這是我的代碼:def count(s,ss):    Occurrence = 0    if ss in s :        for ss in s :            Occurrence += 1    return Occurrence #Main program :     s = str(input("Choose a string: "))    ss = str(input("Choose a substring:"))     print ("Number of times " + str(ss) + " occurs is : " + str(count(s,ss)) ) 我想要的輸出是這樣的:Choose a string: hellohelChoose a substring:helNumber of times hel occurs is : 2但我得到的是這個:Choose a string: hellohelChoose a substring:helNumber of times hel occurs is : 8那么有人可以幫我修改這段代碼以提供所需的輸出嗎?提前致謝
查看完整描述

2 回答

?
呼喚遠方

TA貢獻1856條經驗 獲得超11個贊

您可以使用count


print("hellohel".count("hel"))

2

如果你想計算重疊的發生次數......也許這可以幫助


def countOverlapping(string, item):

? ? count = 0

? ? for i in range(0,len(string)):

? ? ? ? if item in string[i:len(item)+i]:

? ? ? ? ? ? count += 1

? ? return count


print(countOverlapping("ehehe", "ehe"))

輸出應該是...


2

這是如何運作的?


它使用了他所謂的滑動窗口方法


我們獲取子字符串的長度,并在每次迭代時檢查它是否在字符串的“窗口”中:


is ehe in [ehe]he? yes, count += 1

is ehe in e[heh]e? no, pass

is ehe in eh[ehe]? yes, count += 1


查看完整回答
反對 回復 2023-12-05
?
鳳凰求蠱

TA貢獻1825條經驗 獲得超4個贊

您需要采用滑動窗口方法來獲取字符串中子字符串的計數。

例子:

字符串:“嘿嘿嘿”

子串:“呃”

從前 3 個(因為子字符串的長度為 3)字母“ehe”開始 - 這是我們要查找的子字符串嗎?- 是的。

現在留下第一個字母“e”并將字母“he”與下一個字母“h”組合起來形成“heh”,這是我們要尋找的子字符串嗎?- 不

現在留下第一個字母“h”并將字母“eh”與下一個字母“e”組合起來形成“ehe”,這是我們正在尋找的子字符串嗎?是的

執行到字符串末尾并計算“yes”的數量


查看完整回答
反對 回復 2023-12-05
  • 2 回答
  • 0 關注
  • 173 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號