2014-11-04 37 views
-3

我需要測試一個單詞是否僅包含某些音節。例如,如果一個單詞「pikakapichu」只包含音節,「pi」,「ka」或「chu」,我想返回「是」。如果它包含其他音節或字符,那麼我想返回「否」。測試一個單詞是否僅包含指定的音節

又如:

字= 「pikapikachudo」

返回: 「否」,因爲它具有比 'PI', 'か' 等一個音節,和 '楚'

+4

你如何決定哪些字母是哪個音節的一部分? 「pik,ach,u」會不會有效? – Kevin 2014-11-04 17:09:49

+1

嗨安德烈,歡迎來到stackoverflow。請閱讀http://stackoverflow.com/help/on-topic,以便您的問題將在主題上。 並且請更新關於「你已經嘗試了什麼」的問題,即使它只是一個僞代碼。 – Crazenezz 2014-11-04 17:11:52

回答

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 
1

你似乎是描述一個地方音韻每個音節是開放和細胞核元音總是由輔音集羣之前唯一sylabules。 (有一些補充,我希望是不重要的位置,日本與此結構的語言。)因此,你可以使用正則表達式像

[bcdfghj-np-tvwxz]+[aeiou] 

描述每個音節。

+0

我正在考慮一個蠻力'len(re.sub('pi | ka | chu','','pikakapichu'))''但你的回答很酷。 – tdelaney 2014-11-04 17:35:54

相關問題