在列表中查找特定字符

yar*_*iee 11 python python-3.x

目标是从用户的段落中列出并进行迭代,以便我可以计算出多少个单词包含特殊字母“ j,x,q,z”。

输入示例:
在地面的一个洞中住着一个霍比特人。它不是一个肮脏,肮脏,潮湿的小孔,里面充满蠕虫的末端和难闻的气味,也没有一个干燥,裸露的沙质孔,里面没有东西可坐下或进食;那是一个霍比特洞,这意味着舒适。

输出示例: 1个单词,带有稀有字符

我已经开始在代码中将用户的段落分成一个列表,但是我很难遍历该列表并查找每个特殊字母的实例。

这是我到目前为止的内容:

def rareChar(words):
    rareWords = 0
    rareChars = ['j', 'x', 'q', 'z']
    for astring in words:
        wds = words.split()
        for char in wds:
            if char in rareChars:
                rareWords = rareWords + 1
    return rareWords

def CoolPara(words):
    print(rareChar(words), 'word(s) with a rare character')

    # DO NOT CHANGE CODE BELOW

    print(CoolPara(input("Enter: ")))
Run Code Online (Sandbox Code Playgroud)

如果使用示例输入运行,则会得到输出“ 0个单词(带一个罕见字符)”。我该如何解决这个问题,以便获得预期的输出。任何帮助将不胜感激,因为我还是编码的新手

还有一个简短的注意事项:我只允许使用split()和Len()的方法/函数

小智 0

def rareChar(words):
rareWords = 0
rareChars = ['j', 'x', 'q', 'z']

#Split paragraph into words
words.split()
for word in words:
    #Split words into characters
    chars = word.split()
    for char in chars:
        if char in rareChars:
            rareWords = rareWords + 1
return rareWords

def CoolPara(words):
    #return value rather than printing
    return '{} word(s) with a rare character'.format(rareChar(words))


# DO NOT CHANGE CODE BELOW

print(CoolPara(input("Enter: ")))
Run Code Online (Sandbox Code Playgroud)

输入:你好,这是一个关于动物园的句子

输出:1 个带有罕见字符的单词