改进评级用户level

Bug476-ZhangWeiHao
yzj642 2022-06-13 19:35:07 +08:00
parent e48008550a
commit f553c37af2
1 changed files with 24 additions and 0 deletions

View File

@ -75,12 +75,36 @@ def revert_dict(d):
return d2 return d2
def combine_words_through_grammar(lst,d): #通过语法合并同一单词的不同形式
lst1=lst
for index,word in enumerate(lst):
change_word=''
if word.endswith('ies'): #语法条件匹配
change_word=word[:-3]+'y'
elif word.endswith('es'):
change_word=word[:-2]
elif word.endswith('s'):
change_word=word[:-1]
elif word.endswith('ed'):
change_word=word[:-2]
elif word.endswith('en'):
change_word=word[:-2] + 'an'
else:
pass
for word2 in d:
if change_word==word2:
lst1[index]=change_word
return lst1
def user_difficulty_level(d_user, d): def user_difficulty_level(d_user, d):
d_user2 = revert_dict(d_user) # key is date, and value is a list of words added in that date d_user2 = revert_dict(d_user) # key is date, and value is a list of words added in that date
count = 0 count = 0
geometric = 1 geometric = 1
for date in sorted(d_user2.keys(), reverse=True): # most recently added words are more important while determining user's level for date in sorted(d_user2.keys(), reverse=True): # most recently added words are more important while determining user's level
lst = d_user2[date] # a list of words lst = d_user2[date] # a list of words
#print(lst)
lst=combine_words_through_grammar(lst,d) #合并单词的不同形式
#print(lst)
lst2 = [] # a list of tuples, (word, difficulty level) lst2 = [] # a list of tuples, (word, difficulty level)
for word in lst: for word in lst:
if word in d: if word in d: