He______ on the farm for twenty years and now he is a teacher

问题描述:

He______ on the farm for twenty years and now he is a teacher
.A.has worked B.had worked C.worked D.works
不是有for+一段时间么,为什么不能选b呢

He______ on the farm for twenty years and now he is a teacher
选C
因为后面说了他现在是一名老师
现在完成时时发生在过去对现在有影响的的事情,而这边对现在已经没有影响了,因为现在是一名老师,所以不用完成时for+一段时间是要用完成时的,而他现在是名老师,那么用过去的完成时也没错啊不是所有的for加一段时间都用现在完成时的这题如果没有后半句话就用完成时现在因为他在农场这个动作在过去就已经结束了,所以谈不上对现在有影响所以不用现在完成时