0

假设我有 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。

4

1 回答 1

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
于 2012-09-06T16:53:03.207 回答