如何编写一段代码来检查用户inpu中出现一个单词的次数

2024-10-03 15:30:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道是否有人能帮我弄清楚如何写一段代码来分析用户输入的内容,并计算特定单词出现的次数。你知道吗

例如,提示用户输入字符串。输入bobobo。我们正在搜索“bob”在这个代码中出现的次数,因此答案是3。你知道吗

如果这可以在for循环/If else语句中完成,而不需要任何导入,我想看看如何实现。你知道吗

这就是我所拥有的,由于某些原因,它在大多数测试中都出现了不足

s = raw_input("string: ")
count = len(s.split("bob"))
print count

例如,如果测试hobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobobovob 你得到的是7而不是8。你知道吗

我需要能够做到这一点没有正则表达式或任何其他进口。你知道吗


Tags: 字符串答案代码用户内容forifcount
2条回答

如果你只是在寻找一个快速的答案,这将工作!你知道吗

t = "hoboboobbobbbobobbopbbobbbpbooboboboobbobovob"
l = "bob"
count = 0
for x in range(len(t)-len(l)+1):
    if (l == t[x:x+len(l)]):
        count += 1

print(count)

您可以将其转换为函数并将其弹出到其中,而不是s.split()

def substring_counter(string, sub_string):
    count = 0
    for i in range(len(string)-len(sub_string)):
        if string[i:i+len(sub_string)] == sub_string:
            count += 1
    return count

使用列表理解:

def substring_counter_lc(s, c):
    return len([i for i in range(len(s)-len(c)) if s[i:i+len(c)] == c])

行动中:

>>> substring_counter('hoboboobbobbbobobbopbbobbbpbooboboboobbobovob', 'bob')
8
>>> substring_counter_lc('hoboboobbobbbobobbopbbobbbpbooboboboobbobovob', 'bob')
8

相关问题 更多 >