Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 下面的逻辑是否有助于从字符串中查找子字符串的出现次数?_Python - Fatal编程技术网

Python 下面的逻辑是否有助于从字符串中查找子字符串的出现次数?

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=

对于打印给定字符串中子字符串出现的次数的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= ++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。