假设我有 2 个字符串
M = "sses"
N = "assesses"
我必须计算字符串 M 出现在字符串 N 中的次数
如果需要,我不允许使用任何导入或方法,仅循环和 range()。
M = "sses"
N = "assesses"
counter = 0
if M in N:
counter +=1
print(counter)
这还不够好,我需要循环遍历 N 并计算所有存在的 M 在这种情况下它是 2。
假设我有 2 个字符串
M = "sses"
N = "assesses"
我必须计算字符串 M 出现在字符串 N 中的次数
如果需要,我不允许使用任何导入或方法,仅循环和 range()。
M = "sses"
N = "assesses"
counter = 0
if M in N:
counter +=1
print(counter)
这还不够好,我需要循环遍历 N 并计算所有存在的 M 在这种情况下它是 2。
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