首页 > 解决方案 > 在不使用 count() 的情况下计算字符串中的字母

问题描述

我试图在不使用 count() 的情况下执行函数计数,它工作正常,一切正常,但是当我尝试在一个单词中搜索两个字母时,它返回 0。当我尝试在一个字母中搜索 1 个单词时,它工作正常。

def count(str, sub):
    found = 0
    for key in str:
        if key == sub:
            found += 1
    return found

str = input("Enter a string: ") #or we can initialize a string
sub = input("Enter a substring: ") #or we can initialize a substring

count(str, sub)

print ("letter: ", sub)
print ("count: ", count(str, sub))

标签: python

解决方案


按照您的方法,我建议您执行以下操作:

def count(string, sub):
    found = 0
    size = len(sub)
    for i in range(len(string) + 1 - size):
        if string[i:i+size] == sub:
            found += 1
    return found

这样您就可以将它用于任何大小的sub.


推荐阅读