我的老师要求我找到一种方法来计算单词“bob”在没有str.count()
的任何随机字符串变量中的出现次数。所以我做了
a = "dfjgnsdfgnbobobeob bob"
compteurDeBob = 0
for i in range (len(a) - 1):
if a[i] == "b":
if a[i+1] == "o":
if a[i+2] == "b":
compteurDeBob += 1
print(compteurDeBob)
但我想找到一种方法来做到这一点与任何长度的字如下所示,但我不知道如何做到这一点。。。你知道吗
a = input("random string: ")
word = input("Wanted word: ")
compteurDeBob = 0
for i in range (len(a)-1):
#... i don't know...
print(compteurDeBob)
要计算所有重叠出现的次数(如示例中所示),您只需在循环中分割字符串:
你可以用线切片。调整代码的一种方法:
通过
sum
和生成器表达式,可以用更简洁的方式来编写:这是因为
bool
是Python中int
的一个子类,即True
/False
值分别被认为是1
和0
。你知道吗注意} 。你知道吗
str.count
在这里不起作用,因为它only counts non-overlapping matches。如果允许内置,您可以使用^{如果希望搜索不区分大小写,则可以使用
lower()
函数:对于用户输入
第一种方法将输出
1
,第二种方法将输出2
相关问题 更多 >
编程相关推荐