py函數列表 -正則表達式

#實現單詞添加複數的形式 ,這個比較好啊

import re


def match_sxz(noun):
      return re.search('[sxz]$', noun)


def apply_sxz(noun):
      return re.sub('$', 'es', noun)


def match_h(noun):
      return re.search('[^aeioudgkprt]h$', noun)


def apply_h(noun):
      return re.sub('$', 'es', noun)


def match_y(noun):
     return re.search('[^aeiou]y$', noun)


def apply_y(noun):
     return re.sub('y$', 'ies', noun)


def match_default(noun):
     return True


def apply_default(noun):
     return noun + 's'


rules = ((match_sxz, apply_sxz),
(match_h, apply_h),
(match_y, apply_y),
(match_default, apply_default)
)


def plural(noun):
    for matches_rule, apply_rule in rules:
        if matches_rule(noun):
             return apply_rule(noun)
  

"""main """
print plural('why')

發佈了71 篇原創文章 · 獲贊 7 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章