python - 如何在Python 3中使用for循环计算字符串内的单词数

标签 python arrays string python-3.x

我正在尝试编写一个 for 循环来查找字符串中的特定单词。我知道在 python 中有一个衬垫可以做到这一点,但我正在练习 for 循环,我想看看如何使用 for 来识别特定的单词,因为它识别特定的字母(如元音)。我一直在阅读一些问题,我认为代码应该是这样的:

s='bananasdasdnansbanana'
b='banana'
def count_words(s,b):
    answer = 0
    for i in range(len(s)):
        if any(s[i:].startswith(b) for b in s):
           answer += 1
    print(answer)

但它没有打印任何东西。当我在同一字符串中查找元音时,我做了类似的事情,但现在我知道我应该“排列”单词“banana”中的字符,然后将其与字符串进行比较,这就是这部分的porpuse:

if any(s[i:].startswith(b) for b in s):

如果您能帮助我,我将非常感激。

谢谢。

最佳答案

  1. 您的代码不会打印,因为您没有调用函数(您只定义了它),您应该通过在末尾添加命令来调用该函数:

    count_words(s,b)
    
  2. 您的函数实际上计算字符串 s 中的字符数:

    s='bananasdasdnansbanana'
    b='banana'
    def count_words(s,b):
        answer = 0
        # Loop over each character in s
        for i in range(len(s)):
            # create a list contain at least current character => any will always return True
            if any(s[i:].startswith(b) for b in s):
                answer += 1
        print(answer)
    
  3. 正确的代码:

    s='bananasdasdnansbanana'
    b='banana'
    def count_words(s,b):
        answer = 0
        for i in range(len(s)):
            if s[i:].startswith(b):
                answer += 1
        print(answer)
    
    count_words(s,b)
    

关于python - 如何在Python 3中使用for循环计算字符串内的单词数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46417192/

相关文章:

Python 相当于 Ruby 的 File.read 方法

python - Python 中的链表

c - 如何检查当前索引是否是数组中的最后一个索引?

python - 为什么 python-extension 函数在创建长度大于 4 的结构数组时会中断?

java - 如何测试顺序无关紧要的生成字符串?

java - 将大字符串写入文件的问题

python - pySerial list_port 准确性

java - 将 strings.xml 中的数组添加到另一个 ArrayList

c - 截断字符串导致段错误

python - 谷歌colab中的 Pandas 分析错误