Python 下面的逻辑是否有助于从字符串中查找子字符串的出现次数?
对于打印给定字符串中子字符串出现的次数的hackerrank挑战,我编写了附加逻辑。 但我一直收到0的输出。请在缺少逻辑的地方分享评论 打印子字符串在给定字符串中出现的次数Python 下面的逻辑是否有助于从字符串中查找子字符串的出现次数?,python,Python,对于打印给定字符串中子字符串出现的次数的hackerrank挑战,我编写了附加逻辑。 但我一直收到0的输出。请在缺少逻辑的地方分享评论 打印子字符串在给定字符串中出现的次数 def count_substring(string, sub_string): count = 0 for i in range(0,len(string)): if(sub_string== string[i:i+len(sub_string)]): count=
def count_substring(string, sub_string):
count = 0
for i in range(0,len(string)):
if(sub_string== string[i:i+len(sub_string)]):
count= ++count
return count
if __name__ == '__main__':
string = input().strip()
sub_string = input().strip()
count = count_substring(string, sub_string)
print(count)
字符串和子字符串的输入为
美国疾病控制与预防中心
预期输出为2,但实际结果0在Python中不起作用(请参见示例),它应该是
count+=1
,然后代码按预期工作。错误在count=++count
行中
将其更改为
count+=1
还要注意,您不必一直到len(string)
假设字符串的长度为10,子字符串的长度为4,您将检查sub_string==string[9:13]
,这永远不会是真的。通过对范围(0,len(string)-len(substring)+1)中的i执行可以节省一些迭代次数谢谢,Davit。