测试以查看单词是否仅包含指定的音节

时间:2014-11-04 17:05:30

标签: python

我需要测试一个单词是否只包含某些音节。例如,如果一个单词," pikakapichu"仅包含音节," pi"," ka"或" chu",我想返回"是"。如果它包含其他音节或字符,那么我想返回"否"。

另一个例子:

word =" pikapikachudo"

返回:"否"因为它有一个音节而不是' pi',' ka'和' chu'

2 个答案:

答案 0 :(得分:1)

你似乎在描述一个音韵,其中每个音节都是开放的,而元音元音总是先于一组辅音。 (我希望在这里添加一些不重要的东西,日语是一种具有这种结构的语言。)因此你可以使用正则表达式,如

[bcdfghj-np-tvwxz]+[aeiou]

描述每个音节。

答案 1 :(得分:0)

尝试将syllables存储在列表中,然后浏览该列表并用空字符串替换列表中的每个项目。

  • 例如:取pi并用l中的空字符串替换pi'。输出应为“pikapikachudo - > kakachudo

与其他项目相同的过程。

pikapikachudo - > kakachudo - > do

最后,我们测试l是否为空。如果它是空的,则意味着这些是单词l

中唯一的sylabules
l= "pikapikachudo"

r= [ 'pi', 'ka','chu']


def isOnlysyllables_in_word(l,r):
    for x in r:
        l= l.replace(x, '')
    print "You still have <",l,"> in word"
    return l==''

print isOnlysyllables_in_word(l,r) #return False