我們在學(xué)法語動詞變位的時候腺毫,經(jīng)常會“去掉詞尾” 加上xxx。這是不是很像我們最早學(xué)python玩string時候的呢?玩一玩深寥。
直陳式現(xiàn)在時
有 -er, -ir結(jié)尾
第一組動詞, 以er結(jié)尾的
def verb_group1_indicatif_present(mot):
assert mot[-2:] == 'er'
res = {}
root = mot[:-2]
res['je'] = root + 'e'
res['tu'] = root + 'es'
res['il'] = root + 'e'
res['elle'] = root + 'e'
res['nous'] = root + 'ons'
res['vous'] = root + 'ez'
res['ils'] = root + 'ent'
return res
第二組動詞 以ir結(jié)尾
def verb_group2_indicatif_present(mot):
assert mot[-2:] == 'ir'
res = {}
root = mot[:-2]
res['je'] = root + 'is'
res['tu'] = root + 'is'
res['il'] = root + 'it'
res['elle'] = root + 'it'
res['nous'] = root + 'issons'
res['vous'] = root + 'issez'
res['ils'] = root + 'ent'
return res
def verb_indicatif_present(mot):
if mot[-2:] == 'er':
return verb_group1_indicatif_present(mot)
elif mot[-2:] == 'ir':
return verb_group2_indicatif_present(mot)
def verb_group1_passe_compose(mot):
# group 1
assert mot[-2:] == 'er'
root = mot[:-2]
res = {}
res['je'] = root + 'é'
res['tu'] = root + 'é'
res['il'] = root + 'é'
res['elle'] = root + 'ée'
res['nous'] = root + 'é'
res['vous'] = root + 'é'
res['ils'] = root + 'é'
res['elles'] = root + 'ées'
return res
assert mot[-2:] == 'ir'
root = mot[:-2]
res = {}
res['je'] = root + 'i'
res['tu'] = root + 'i'
res['il'] = root + 'i'
res['elle'] = root + 'i'
res['nous'] = root + 'i'
res['vous'] = root + 'i'
res['ils'] = root + 'i'
res['elles'] = root + 'i'
return res
def verb_group_passe_compose(mot):
if mot[-2:] == 'er':
return verb_group1_passe_compose(mot)
elif mot[-2:] == 'ir':
return verb_group2_passe_compose(mot)
def verb_imparfait(mot):
"""group 1 and group 2
未完成過去式"""
root = verb_indicatif_present(mot)['nous']
res = {}
res['je'] = root + 'ais'
res['tu'] = root + 'ais'
res['il'] = root + 'ait'
res['elle'] = root + 'ait'
res['nous'] = root + 'ions'
res['vous'] = root + 'iez'
res['ils'] = root + 'aient'
# res['elles'] = root + 'i'
return res
def verb_futur_simpler(mot):
"""group 1 and group 2
簡單將來時"""
res = {}
res['je'] = mot + 'ai'
res['tu'] = mot + 'as'
res['il'] = mot + 'a'
res['elle'] = mot + 'a'
res['nous'] = mot + 'ons'
res['vous'] = mot + 'ez'
res['ils'] = mot + 'ont'
return res