让我们假设我有2个字符串
M = "sses"
N = "assesses"
我必须计算字符串M出现在字符串N中的次数
如果需要,我不允许使用任何导入或方法,只需循环和范围()。
M = "sses"
N = "assesses"
counter = 0
if M in N:
counter +=1
print(counter)
这还不够好,我需要循环来通过N并计算所有M存在 在这种情况下,它是2。
答案 0 :(得分:1)
def count(M, N):
i = 0
count = 0
while True:
try:
i = N.index(M, i)+1
count += 1
except ValueError:
break
return count
或没有str.index
的单行:
def count(M, N):
return sum(N[i:i+len(M)]==M for i in range(len(N)-len(M)+1))
不使用sum
函数:
def count(M, N):
count = 0
for i in range(len(N)-len(M)+1):
if N[i:i+len(M)] == M:
count += 1
return count