2016-05-21 58 views
0

返回給定字符串中任何位置出現字符串「hi」的次數。返回python中特定字符串的次數

count_hi('abc hi ho') → 1 
count_hi('ABChi hi') → 2 
count_hi('hihi') → 2 

我的代碼如下:

def count_hi(str): 
    sum = 0 
    count = 1 
    if "hi" in str: 
    sum = sum + count 
    count = 1 + count 
    return count and sum 

我試圖用文字切片做。所以我可以測試一個單詞中是否有「h」和「i」,並計算「h」和「i」的組合以製作「hi」。所以「嗨」可以在初學者,中間和/或在一堆文字或字母的末尾和/或其本身。

+0

你沒有循環 - 'sum'和'count'除了'0'和'1'還是'1'和'2'之外怎麼可能?這是在你的函數中的語法錯誤之上,帶有意想不到的縮進。而且你還掩蓋了兩個內置插件。 – TigerhawkT3

+0

當你提到內置插件時,你指的是什麼? – VChocolate

+0

谷歌「內置python」獲取更多信息。 – TigerhawkT3

回答

3

您應該使用count()函數作爲字符串。

>>> "abc hi ho".count("hi") 
1 
>>> "ABChi hi".count("hi") 
2 
0

str.count(子[,開始[,結束]])

返回非重疊出現在範圍子子的數量[開始,結束。可選參數開始和結束被解釋爲切片符號。

相關問題