我需要测试一个单词是否只包含某些音节。例如,如果一个单词," pikakapichu"仅包含音节," pi"," ka"或" chu",我想返回"是"。如果它包含其他音节或字符,那么我想返回"否"。
另一个例子:
word =" pikapikachudo"
返回:"否"因为它有一个音节而不是' pi',' ka'和' chu'
答案 0 :(得分:1)
你似乎在描述一个音韵,其中每个音节都是开放的,而元音元音总是先于一组辅音。 (我希望在这里添加一些不重要的东西,日语是一种具有这种结构的语言。)因此你可以使用正则表达式,如
[bcdfghj-np-tvwxz]+[aeiou]
描述每个音节。
答案 1 :(得分:0)
尝试将syllables
存储在列表中,然后浏览该列表并用空字符串替换列表中的每个项目。
pi
并用l中的空字符串替换pi'
。输出应为“pikapikachudo
- > kakachudo
与其他项目相同的过程。
“pikapikachudo
- > kakachudo
- > do
最后,我们测试l
是否为空。如果它是空的,则意味着这些是单词l
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