+0

For three years, I..........................French.

a. have learnt b. have been learning c. A & B are OK

I go for "c". Am I right?

+0
Omar AhmedI go for "c". Am I right?

That is not the right answer.

Comments  
Site Hint: Check out our list of pronunciation videos.

Don;t we use "for" with both the present perfect and the present perfect continuous to talk about an event that started in the past and is still going on?

Omar AhmedDon;t we use "for" with both the present perfect and the present perfect continuous to talk about an event that started in the past and is still going on?

Yes, if the predicate is not punctual. The predicate 'learn French' suggests something punctual, not continuous. Once you've learned something, you've finished. You know it. It doesn't go on.

I've learned/learnt French for three years sounds like I've won the race for five minutes. In these cases the present perfect non-continuous doesn't work with a for-phrase of time.

If you want a case where both tenses are possible, you need a predicate that suggests something continuous, like 'study':

I have studied French for three years.
I have been studying French for three years.

CJ

Omar AhmedDon;t we use "for" with both the present perfect and the present perfect continuous to talk about an event that started in the past and is still going on?

To add to CJ's post, it depends on the verb.

I have lived here for three years. (I still live here.)
I have worked as a receptionist for only six months, and am bored with it. (I am still a receptionist).
Live and work are "continuous action" types of verbs.

But not verbs that indicate completed actions.
I learned French in three years. (I am fluent now. I am not studying now.)
I learned French when I was living in Paris. (I am fluent now. I am not learning now.)
I have been learning French for three years. (I am not fluent. I am still studying.)

Sometimes "for" indicates a time period in the past for a completed action, but that action continued during that time period.

The professor has been speaking for over an hour. (He is still speaking.)
The professor spoke for over an hour. (That happened last week. His class lasted for 90 minutes.)

Teachers: We supply a list of EFL job vacancies

So, the correct answer is "have learned", isn't it?

No.

For three years, I..........................French.

Answer: have been learning

(I am still learning. I am not proficient.)


I learned French in three years. I completed my study of French five years ago.