forked from mrlan/EnglishPal
				
			改进评级用户level
							parent
							
								
									e48008550a
								
							
						
					
					
						commit
						f553c37af2
					
				|  | @ -75,12 +75,36 @@ def revert_dict(d): | |||
|     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): | ||||
|     d_user2 = revert_dict(d_user) # key is date, and value is a list of words added in that date | ||||
|     count = 0 | ||||
|     geometric = 1 | ||||
|     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 | ||||
|         #print(lst) | ||||
|         lst=combine_words_through_grammar(lst,d) #合并单词的不同形式 | ||||
|         #print(lst) | ||||
|         lst2 = [] # a list of tuples, (word, difficulty level) | ||||
|         for  word in lst: | ||||
|             if word in d: | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue