![](/img/trans.png)
[英]python - find all occurrences of substring with wildcards in string
[英]to find number of occurrences of a substring in a string in python
問題:在這個挑戰中,用戶輸入一個字符串和一個子字符串。 您必須打印子字符串在給定字符串中出現的次數。 字符串遍歷將從左到右進行,而不是從右到左。 注意:字符串字母區分大小寫。
樣本輸入
ABCDCCDC
樣本輸出 2
這是我的解決方案,但我沒有得到正確的輸出(我得到 1 作為輸出)。 是什么原因?
def count_subtring(string, sub_string):
len_string = int(len(string))
len_substring = int(len(sub_string))
l = len_string - len_substring + 1
n = 0
for i in range (l):
if string[i:i + len_substring] == sub_string:
n =+ 1
return n
if __name__ == '__main__':
string = input().strip()
sub_string = input().strip()
count = count_substring(string, sub_string)
print(count)
我找到了一個解決方案,但我無法理解它,我想解釋一下下面的代碼
def count_substring(string, sub_string):
count=0
for i in range(len(string)):
for j in range(len(sub_string)):
if string[i+j]==sub_string[j] and j==(len(sub_string)-1):
count=count+1
if string[i+j]!=sub_string[j]:
break
if i==len(string)-len(sub_string):
break
return count
if __name__ == '__main__':
string = input().strip()
sub_string = input().strip()
count = count_substring(string, sub_string)
print(count)
謝謝
當您找到匹配項而不是向其添加 1 ( n += 1
) 時,您正在為n
分配+1
。
n =+ 1
與n = +1
或n = 1
相同。
所以結果永遠不會大於 1。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.