python - 在不使用 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))
解决方案
按照您的方法,我建议您执行以下操作:
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
.
推荐阅读
- ruby - 如何组织您的自定义文件目录(Rails 6.1.3.2)?
- javascript - discord.js 中的 MongoDB 缓存
- c - Windows Api,COM口:接收后传输数据
- regex - 替换@之前的所有字符
- python - 如何在使用 BERT 的掩码语言建模中将表情符号添加到我的标记器?
- javascript - 我可以将其他脚本动态加载到现有工作人员中吗?
- python - 如何从数据框中的下一列中获取数据
- php - Laravel 8. Eloquent 模型工厂(播种,数据库测试)。如果模型已经存在,如何不创建模型?
- android - 每次单击登录按钮时都会重建登录小部件
- facebook - 适用于 Android/Unity 的 Facebook SDK:更改活动(类)名称而不影响实时应用?