请高手帮忙讲一下这道题怎么做

问题描述:

请高手帮忙讲一下这道题怎么做
-He can speak English because he once lived in London.
-Really?How long__there
A.does he live
B.is he living
C.has he lived
D.did he live
答案选D,他不是已经不住在伦敦了吗,为什么不用完成时

他已经离开伦敦了,有一种问法可以用现玩:how long has he been in london?
而这里的live是瞬间动词,只能用did he live